Я разбирался в том, как именно работает переводчик, погуглил и пришел к какому-то выводу, просто хотел, чтобы его исправил кто-то, кто сможет дать мне лучшее понимание работы переводчика. >
Итак, я понял следующее:
Интерпретатор — это программа, которая преобразует код от
языка высокого уровня к машине формате.
если говорить конкретно о Java-интерпретаторе, то он получает код в двоичном формате
(который ранее транслируется Java-компилятором из исходного кода в байт-код).
теперь платформой для интерпретатора Java является JVM, в которой он работает, поэтому
по сути, он будет создавать код, который может быть запущен JVM.
поэтому он принимает байт-код, создает промежуточный код и целевую машину
код и передает его JVM.
JVM, по очереди, выполняет этот код на платформе ОС, в которой
реализована или запускается JVM.
Теперь мне все еще непонятен подпроцесс, который происходит между ними, т.е.
интерпретатор создает промежуточный код.
интерпретируемый код затем оптимизируется.
затем генерируется целевой код
и наконец выполняется.
Еще несколько вопросов:
так является ли только интерпретатор ответственным за генерацию целевого кода? и
выполнение?
и означает ли выполнение, что оно выполняется в JVM или в базовой ОС?
Я разбирался в том, как именно работает переводчик, погуглил и пришел к какому-то выводу, просто хотел, чтобы его исправил кто-то, кто сможет дать мне лучшее понимание работы переводчика. >
Итак, я понял следующее:
[list] [*]Интерпретатор — это программа, которая преобразует код от языка высокого уровня к машине формате. [*]если говорить конкретно о Java-интерпретаторе, то он получает код в двоичном формате (который ранее транслируется Java-компилятором из исходного кода в байт-код). [*]теперь платформой для интерпретатора Java является JVM, в которой он работает, поэтому по сути, он будет создавать код, который может быть запущен JVM. [*] поэтому он принимает байт-код, создает промежуточный код и целевую машину код и передает его JVM. [*]JVM, по очереди, выполняет этот код на платформе ОС, в которой реализована или запускается JVM. [/list]
Теперь мне все еще непонятен подпроцесс, который происходит между ними, т.е.
[list] [*]интерпретатор создает промежуточный код. [*]интерпретируемый код затем оптимизируется. [*]затем генерируется целевой код [*]и наконец выполняется. [/list]
Еще несколько вопросов:
[list] [*]так является ли только интерпретатор ответственным за генерацию целевого кода? и выполнение? [*]и означает ли выполнение, что оно выполняется в JVM или в базовой ОС? [/list]
В шаблоне Singleton с использованием DCL в поле объекта экземпляра добавляется ключевое слово voluty, и все статьи по этому поводу описываются как «предотвращение переупорядочения инструкций, которое в противном случае привело бы к доступу к...
Я в восторге от Project Loom, но есть одна вещь, которую я не могу до конца понять.
Большинство серверов Java используют пулы потоков с определенным лимитом потоков (200, 300 ..), однако вы не ограничены ОС и можете создавать гораздо больше, я...
Есть код, который намеренно допускает ошибки при параметризации класса и методов! Но вопрос в том, почему получается второй способ, а не первый, я уже голову сломал, не могу понять, объясните пожалуйста!?
public static void main(String args) {
List...
Есть код, который намеренно допускает ошибки при параметризации класса и методов! Но вопрос в том, почему получается второй способ, а не первый, я уже голову сломал, не могу понять, объясните пожалуйста!?
public static void main(String args) {
List...