GNU Compiler for Java | это... Что такое GNU Compiler for Java? (original) (raw)

GNU Compiler for Java

Gcj2.png
Тип Компилятор
Разработчик Проект GNU
Операционная система Unix-like
Последняя версия 4.5.0 (4 апреля 2010)
Лицензия GNU GPL
Сайт http://gcc.gnu.org/java

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

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

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

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

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

Содержание

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

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

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

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

См. также

Примечания

  1. gcj to use Eclipse compiler as a front end (8 января 2007). Архивировано из первоисточника 2 мая 2012. Проверено 20 мая 2007.
  2. The GCJ FAQ — GNU Project — Free Software Foundation (FSF)
  3. GCJ: News
  4. GCJ: The GNU Static Java Compiler
  5. GCJ vs Java JIT Performance Comparison

Ссылки

Просмотр этого шаблона Виртуальные машины Java
Sun/Oracle JVMHotSpotKVMOpenJDK • Maxine VM
Сообщества и основные реализации Apache HarmonyGCJJamVM • Jikes RVM • KaffeIKVM.NETIBM J9JRockit (BEA/Oracle)
Встроенные MysaifuSquawk (Sun)JamaicaVM • Mika VM
Другие CACAOJXJNodeдругие…
Неподдерживаемые Microsoft JVM • SableVM • Jupiter • Jaos
Просмотр этого шаблона Java
Платформы Java CardJava MEJava SEJava EE Wave.svg
Технологии Sun JavaJava Development KitOpenJDKWTKJava Virtual MachineJavaFXJAXPSquawk
Основные сторонние технологии GNU Classpath • GNU компилятор для Java • Kaffe • TopLink • Apache HarmonyApache StrutsSpring Framework • Dalvik • HibernateJBoss • Processing • Dozer • AspectJ
История История версий JavaКритика JavaJava Community ProcessSun Microsystems • Свободные реализации Java
Свойства языка Байткод • Синтаксис • АпплетыСервлетыМидлетыJavaServer PagesWeb StartEnterprise JavaBeans
Скриптовые языки Java Tcl • JythonJRubyBeanShellGroovy • Judoscript • Sleep • Bean Scripting Framework • Yoix • Rhino
Конференции Java JavaOne