Interested Article - GNU Compiler for Java

GNU Compiler for Java ( GCJ или gcj ) — это свободный компилятор языка Java , являющийся частью GNU Compiler Collection , но с 2017 года он больше не поддерживается и не будет частью будущих выпусков.

GCJ может компилировать исходный код Java в байткод виртуальной машины Java либо непосредственно в машинный код многих процессорных архитектур . Он также может компилировать , содержащие байткод, или целые JAR , содержащие такие файлы, в машинный код.

Большинство runtime-библиотек, используемых gcj, взято из проекта GNU Classpath (ср. библиотеку libgcj ). По состоянию на gcj 4.3, gcj интегрируется ecj, Java-компилятором Eclipse .

По состоянию на 2007 год много работы ушло на поддержку в GNU Classpath двух графических Java API : AWT и Swing . Работа по поддержке AWT продолжается, после чего последует поддержка Swing.

По состоянию на 2009 год новые изменения в gcj почти остановлены. Продукт в настоящее время находится в режиме обслуживания.

По состоянию на 2015 год от GCJ не было анонсировано никаких новых разработок, и продукт находился в режиме обслуживания, при этом разработка Java-инструментария с открытым исходным кодом в основном происходила в OpenJDK. GCJ был удален из ствола GCC 30 сентября 2016 года. Объявление о его удалении было сделано с выпуском GCC 7.1, который не содержит его. GCJ остается частью GCC 6.

Производительность

Java-код, скомпилированный в машинный код с помощью GCJ, должен иметь меньшее время запуска, чем эквивалентный байт-код, запущенный в JVM .

Однако, после запуска Java код, скомпилированный GCJ, не обязательно будет выполняться быстрее, чем байт-код, выполняемый современной JVM с включённым JIT . Это справедливо даже тогда, когда GCJ вызывается с продвинутыми опциями оптимизации, такими как -fno-bounds-check -O3 -mfpmath=sse -msse2 -ffast-math -march=native . Сможет ли скомпилированная программа превзойти по производительности JVM или нет, зависит от конкретных операций, выполняемых кодом .

Использующие GNU Compiler for Java программы

См. также

Примечания

  1. (8 января 2007). Дата обращения: 20 мая 2007. Архивировано из 2 мая 2012 года.
  2. . Дата обращения: 11 июля 2010. 15 января 2016 года.
  3. 18 апреля 2008 года.
  4. . Дата обращения: 11 июля 2010. Архивировано из 7 июня 2011 года.
  5. . Дата обращения: 11 июля 2010. Архивировано из 25 февраля 2017 года.

Ссылки

  • — официальный сайт GNU Compiler for Java
  • — the article discuss some history of GCJ.
Источник —

Same as GNU Compiler for Java