GCJ

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

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

 GNU Compiler for Java у Вікісховищі

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 Compiler для Java

  • Pdftk


Див. також

  • GNU Interpreter for Java (GIJ)
  • IcedTea
  • Kaffe
  • SableVM
  • JamVM
  • Apache Harmony
  • Jikes
  • C to Java Virtual Machine compilers
  • Вільні реалізації Java


Примітки

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

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.