Відкрити головне меню

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

GNU Compiler for Java
Gcj2.png
Gcj.png
Тип Компілятор
Розробник The GNU Project
Стабільний випуск 4.2.1 (July 21, 2007)
Платформа Віртуальна машина Java
Операційна система Unix-like
Ліцензія GPL
gcc.gnu.org/java

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

Більшість бібліотек часу виконання, що використовуються в GCJ, взято з проекту GNU Classpath. Станом на 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 для JavaРедагувати

Дивіться такожРедагувати

ПриміткиРедагувати

  1. gcj to use Eclipse compiler as a front end. 2007-01-08. Архів оригіналу за 2012-05-02. Процитовано 2007-05-20. 
  2. The GCJ FAQ — GNU Project — Free Software Foundation (FSF)
  3. GCJ: News. Архів оригіналу за 18 квітень 2008. Процитовано 26 січень 2008. 
  4. GCJ: The GNU Static Java Compiler. Архів оригіналу за 7 червень 2011. Процитовано 26 грудень 2015. 
  5. GCJ vs Java JIT Performance Comparison. Архів оригіналу за 25 лютий 2017. Процитовано 26 грудень 2015. 

ПосиланняРедагувати