GCJ
![]() | |
![]() | |
Тип | Компілятор |
---|---|
Автор | Cygnus Solutionsd[1] |
Розробник | 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.[2]
Станом на 2007 рік багато роботи пішло на підтримку в GNU Classpath двох графічних Java API: AWT та Swing. Робота з підтримки AWT триває, після чого піде підтримка Swing[3].
Станом на 2009 рік нові зміни в GCJ майже зупинені[4]. Продукт в даний час знаходиться в режимі обслуговування.
Java-код, скомпільований в машинний код за допомогою GCJ, повинен мати більш швидкий час запуску, ніж еквівалентний байт-код, запущений в JVM[5].
Однак, після запуску Java-код, скомпільований GCJ, не обов'язково буде виконуватися швидше, ніж байт-код, що виконується сучасної JVM з увімкненим JIT. Це справедливо навіть тоді, коли GCJ викликається з просунутими опціями оптимізації, такими як -fno-bounds-check -O3 -mfpmath=sse -msse2 -ffast-math -march=native. Чи зможе скомпільована програма перевершити по продуктивності JVM чи ні, залежить від конкретних операцій, які виконуються кодом[6].
- GNU Interpreter for Java (GIJ)
- IcedTea
- Kaffe
- SableVM
- JamVM
- Apache Harmony
- Jikes
- C to Java Virtual Machine compilers
- Вільні реалізації Java
- ↑ https://gcc.gnu.org/wiki/GCJ
- ↑ gcj to use Eclipse compiler as a front end. 8 січня 2007. Архів оригіналу за 2 травня 2012. Процитовано 20 травня 2007.
- ↑ The GCJ FAQ — GNU Project — Free Software Foundation (FSF). Архів оригіналу за 15 січня 2016. Процитовано 26 грудня 2015.
- ↑ GCJ: News. Архів оригіналу за 18 квітня 2008. Процитовано 26 січня 2008.
- ↑ GCJ: The GNU Static Java Compiler (PDF). Архів оригіналу (PDF) за 7 червня 2011. Процитовано 26 грудня 2015.
- ↑ GCJ vs Java JIT Performance Comparison. Архів оригіналу за 25 лютого 2017. Процитовано 26 грудня 2015.
![]() | Це незавершена стаття про програмне забезпечення. Ви можете допомогти проєкту, виправивши або дописавши її. |
- Офіційний сайт
- GCJ Manual
- About CNI section of GCJ Manual
- GCJ Frequently Asked Questions [Архівовано 15 січня 2016 у Wayback Machine.]
- LWN: GCJ — past, present, and future [Архівовано 26 грудня 2015 у Wayback Machine.] — the article discuss some history of GCJ.