factograf
UK
Увійти

GCJ

GCJ
Усі дані картки 8
Тип
Компілятор
Автор
Cygnus Solutionsd
Розробник
The GNU Project
Стабільний випуск
6.5 (October 26, 2018)
Платформа
віртуальна машина Java
Операційна система
Unix-like
Ліцензія
GPL
Вебсайт
gcc.gnu.org/java

GCJ — вільний компілятор для Java, розроблений в рамках проекту GNU Compiler Collection (GCC).

GCJ може компілювати вихідний код Java в байткод віртуальної машини Java, або безпосередньо в машинний код багатьох процесорних архітектур. Він також може компілювати файли класів, що містять байткод, або цілі JAR, що містять такі файли, в машинний код.

Більшість бібліотек часу виконання, що використовуються в GCJ, взято з проекту GNU Classpath. Станом на GCJ 4.3, GCJ інтегрується ecj, Java-компілятором Eclipse.

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

Станом на 2009 рік нові зміни в GCJ майже зупинені. Продукт в даний час знаходиться в режимі обслуговування.

Продуктивність

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

Однак, після запуску Java-код, скомпільований GCJ, не обов'язково буде виконуватися швидше, ніж байт-код, що виконується сучасної JVM з увімкненим JIT. Це справедливо навіть тоді, коли GCJ викликається з просунутими опціями оптимізації, такими як -fno-bounds-check -O3 -mfpmath=sse -msse2 -ffast-math -march=native. Чи зможе скомпільована програма перевершити по продуктивності JVM чи ні, залежить від конкретних операцій, які виконуються кодом.

13 мовами

Текст із Вікіпедії, CC BY-SA 4.0 · Стаття-джерело