Это не официальный сайт wikipedia.org 01.01.2023

Javac — Википедия

Javac

Javac — оптимизирующий[1] компилятор языка java, включенный в состав многих Java Development Kit (JDK).

javac
Тип компилятор
Разработчик Sun Microsystems
Написана на Java
Интерфейс командная строка
Операционная система кроссплатформенное программное обеспечение
Аппаратная платформа Java Virtual Machine
Читаемые форматы файлов Java language source code file[d]
Создаваемые форматы файлов Джава class-файл[d]
Лицензия GNU General Public License
Сайт oracle.com/technetwork/j…

Компилятор принимает исходные коды, соответствующие спецификации Java language specification (JLS), и возвращает байт-код, соответствующий спецификации Java Virtual Machine Specification (JVMS).

Javac написан на Java. Может вызваться непосредственно из java-программ (JSR 199).

ИсторияПравить

Javac входил в состав JDK с первой версии.

13 ноября 2006 г. корпорация Sun Microsystems сменила лицензию Java Virtual Machine (JVM) и Java Development Kit (JDK) на GPL v2.[2][3]

GNU Classpath начиная с версии 0.95 поддерживает компилирование и запуск javac при помощи GIJ и GCJ. Также поддерживается компиляция самой библиотеки Classpath, её утилит и примеров.[4]

Структура javacПравить

Исполнение javac разбито на следующие фазы:[5]

  1. parse — лексический и синтаксический анализ, генерация абстрактного синтаксического дерева,
  2. enter — регистрация символов всех классов, определенных в программе,
  3. process annotations — обработка аннотаций,
  4. attribute — проверка типов, разрешение имен классов, свертка констант, вывод типов,
  5. flow — анализ потока управления (достижимость операций), анализ обработки исключений, проверка обращений к неинициализированным данным, проверка корректности инициализации final переменных,
  6. desugar — удаление синтаксического сахара (вложенные классы, классовые литералы, assert, foreach),
  7. generate — создание файла .class.

См. такжеПравить

ПримечанияПравить

  1. Special edition Using Java, 1996], ISBN 0-7897-0604-0, Chapter 3 "The javac compiler is an optimizing compiler and is the one you will usually use. "
  2. Sun opens Java (feature story)  (неопр.). Дата обращения: 17 апреля 2013. Архивировано из оригинала 13 мая 2008 года.
  3. Sun’s OpenJDK Hotspot page (недоступная ссылка)
  4. «This release supports compiling and running the GPL OpenJDK javac compiler[…]» GNU Classpath 0.95 Announcement  (неопр.) (недоступная ссылка — история). Архивировано 18 апреля 2013 года.
  5. The Hacker’s Guide to Javac, 2008

СсылкиПравить