JAVA - компилятор или интерпретатор?

Обычно Java видится разработчику как язык, компилируемый в файлы .class до того, как код будет использоваться на JVM (виртуальной машине Java). Призадумавшись, многие разработчики также объясняют, что работа байт-кода начинается с интерпретации виртуальной машиной JVM, но несколько позже код также проходит динамическую компиляцию (JIT). Но на этом многие специалисты начинают «плыть», выстраивая несколько надуманную концепцию о том, что байт-код, в сущности, является машинным кодом для воображаемого или упрощенного процессора.

На самом деле байт-код виртуальной машины Java можно считать переходной формой между исходным кодом, пригодным для чтения человеком, и машинным кодом. В техническом отношении с точки зрения теории компиляции байт-код — это действительно своеобразный промежуточный язык (intermediate language), а не настоящий машинный код. Это означает, что процесс преобразования исходного кода Java в байт-код не является компиляцией в том смысле, в каком она понимается в языках C и С++. В свою очередь, javac не назовешь таким же компилятором, как gcc. В сущности, это генератор файлов классов для обработки исходного кода Java. Настоящим компилятором в экосистеме Java является динамический компилятор (JIT).

Некоторые специалисты (в том числе программисты Oracle) характеризуют систему Java как «динамически компилируемую». При этом акцентируется тот факт, что истинная компиляция — это динамическая компиляция во время исполнения, а не создание файла класса во время исполнения.

Поэтому верным ответом на вопрос «Java — это компилируемый или интерпретируемый язык?» будет: «И такой и такой»!

Это важно знать, если собираетесь создавать эффективные программы под базы данных Oracle!

Вас заинтересует / Intresting for you:

Oracle IDE: JDeveloper, SQL De...
Oracle IDE: JDeveloper, SQL De... 4522 просмотров Ольга Потемкина Tue, 21 Nov 2017, 13:18:46
Oracle и Java: использование P...
Oracle и Java: использование P... 5750 просмотров sepia Tue, 08 May 2018, 08:52:34
Apex Oracle обучающий видеокур...
Apex Oracle обучающий видеокур... 8805 просмотров Дэн Sun, 05 Aug 2018, 16:36:33
Path - пример создания пути в ...
Path - пример создания пути в ... 6753 просмотров Administrator SU Tue, 21 Nov 2017, 13:26:33
Печать
Войдите чтобы комментировать

 аватар
ответил в теме #8048 7 года 1 мес. назад
Интересно... и компилятор и интерпретатор! Вот так гибрид!)))