Skip to content

Commit 10e57e4

Browse files
Cupcake-masterenhorse
authored andcommitted
Update jvm.md
1 parent 2c50983 commit 10e57e4

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

jvm.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ JVM работает с 2мя типами данных: примитивные
2323
JVM работает с примитивными значениями (целыми числами и числами с плавающей точкой). По сути, JVM - это 32-битная машина.
2424
Типы `long` и `double`, которые являются 64-битными, поддерживаются изначально, но занимают две единицы памяти в `frame's local`
2525
или стеке операндов, поскольку каждая единица составляет 32 бита.
26-
Типы `boolean`, `byte`, `short` и `char` имеют расширенный знак (кроме `char` с нулевым расширением) и работают как 32-разрядные целые числа, так же как и типы `int`.
26+
Типы `boolean`, `byte`, `short` и `char` имеют расширенный знак (кроме `char` с нулевым расширением) и работают как 32-разрядные целые числа, так же, как и типы `int`.
2727
Меньшие типы имеют только несколько специфических для типа инструкций для загрузки, хранения и преобразования типов.
2828
`boolean` значение работает как 8-битное `byte` значения, где 0 представляет значение **false**, а 1 - значение **true**.
2929

3030
**Типы ссылок и значения**
3131

3232
Существует три типа ссылочных типов: типы классов, типы массивов и типы интерфейсов.
33-
Их значения являются ссылками на динамически создаваемые экземпляры классов, массивы или экземпляры классов или массивы,
33+
Их значения являются ссылками на динамически создаваемые экземпляры классов, массивы или экземпляры классов,
3434
которые реализуют интерфейсы соответственно.
3535

3636
[к оглавлению](#jvm)
@@ -87,7 +87,7 @@ JVM работает с примитивными значениями (целы
8787
## Области данных времени выполнения
8888

8989
Run-Time Data Areas. JVM выделяет множество областей данных во время выполнения, к-рые используются во время выполнения программы. Некоторые участки данных
90-
созданы JVM во время старта и уничтожаются во время её выключения. Другие создаются для каждого потока и уничтожаются когда поток уничтожается.
90+
созданы JVM во время старта и уничтожаются во время её выключения. Другие создаются для каждого потока и уничтожаются, когда поток уничтожается.
9191

9292
**The pc Register (PCR)**
9393

@@ -116,7 +116,7 @@ JVM не предполагает какого-либо конкретного
116116
**Method Area**
117117

118118
JVM имеет область методов, которая является общей для всех потоков. Она хранит структуры для каждого класса, такие как пул констант, данные полей и методов,
119-
а также код для методов и конструкторов, включая специальные методы, используемые при инициализации классов и экземпляров и инициализации интерфейса.
119+
а также код для методов и конструкторов, включая специальные методы, используемые при инициализации классов и экземпляров, и инициализации интерфейса.
120120
Хотя область метода является логически частью кучи, простые реализации могут не обрабатываться собиращиком мусора. Область метода может иметь
121121
фиксированный размер или может быть расширена в соответствии с требованиями вычислений и может быть сокращена, если большая область метода становится ненужной.
122122

@@ -141,7 +141,7 @@ Frame используется для хранения данных и част
141141
является ли это завершение нормальным или резким (он генерирует неперехваченное исключение). Frames выделяются из стека потока, создающего frame.
142142
Каждый frame имеет свой собственный массив локальных переменных, свой собственный стек операндов и ссылку на пул констант во время выполнения класса текущего метода.
143143
Размеры массива локальных переменных и стека операндов определяются во время компиляции и предоставляются вместе с кодом для метода, связанного с фреймом.
144-
Таким образом, размер структуры данных frame-а зависит только от реализации виртуальной машины Java, и память для этих структур может быть выделена одновременно при вызове метода.
144+
Таким образом, размер структуры данных, frame-а зависит только от реализации виртуальной машины Java, и память для этих структур может быть выделена одновременно при вызове метода.
145145

146146
Только один frame активен в любой точке данного потока управления - метода выполнения, и это frame называется текущим, а его метод известен как текущий метод.
147147
Класс, в котором определен текущий метод, является текущим классом. Операции над локальными переменными и стеком операндов обычно выполняются со ссылкой на текущий frame.
@@ -202,7 +202,7 @@ JVM использует локальные переменные для пере
202202
**Резкое завершение вызова метода**
203203

204204
Вызов метода завершается преждевременно, если при выполнении инструкции JVM в методе выдает исключение, и это исключение не обрабатывается в методе.
205-
Выполнение команды **athrow** также приводит к явному выбрасыванию исключения, и если исключение не перехватывается текущим методом,
205+
Выполнение команды **athrow** также приводит к явному выбрасыванию исключения, и, если исключение не перехватывается текущим методом,
206206
приводит к неожиданному завершению вызова метода. Вызов метода, который завершается внезапно, никогда не возвращает значение своему вызывающему.
207207

208208
[к оглавлению](#jvm)
@@ -213,7 +213,7 @@ JVM использует локальные переменные для пере
213213

214214
**Interpreter**
215215

216-
Интерпретатор интерпретирует байт-код быстро, но выполняется медленно. Недостаток интерпретатора заключается в том, что когда один метод вызывается несколько раз, каждый раз требуется новая интерпретация.
216+
Интерпретатор интерпретирует байт-код быстро, но выполняется медленно. Недостаток интерпретатора заключается в том, что, когда один метод вызывается несколько раз, каждый раз требуется новая интерпретация.
217217

218218
**JIT Compiler**
219219

0 commit comments

Comments
 (0)