GNU kompilátor pro Javu

GNU kompilátor pro Javu
Typ Kompilátor
Autor Cygnus řešení [1]
Vývojář Projekt GNU
Operační systém Unixové
První vydání 1998 [1] [2]
Hardwarová platforma Java virtuální stroj
Nejnovější verze 6.5 / 26. října 2018 ( 4. prosince 2015 )
Licence GNU GPL
webová stránka gcc.gnu.org/gcc-6/
 Mediální soubory na Wikimedia Commons

GNU Compiler for Java ( GCJ nebo gcj ) je bezplatný kompilátor jazyka Java , který je součástí GNU Compiler Collection , ale od roku 2017 již není udržován a nebude součástí budoucích verzí.

GCJ může kompilovat zdrojový kód Java do bajtového kódu Java Virtual Machine nebo přímo do strojového kódu na mnoha architekturách procesorů . Může také kompilovat soubory tříd obsahující bajtový kód nebo celé JAR obsahující takové soubory do strojového kódu.

Většina runtime knihoven používaných gcj pochází z projektu GNU Classpath (srov. knihovna libgcj ). Od gcj 4.3 je gcj integrován pomocí ecj, kompilátoru Java Eclipse . [3]

Od roku 2007 bylo hodně práce věnováno podpoře GNU Classpath pro dvě grafická API Java : AWT a Swing . Pokračuje podpora AWT a následně podpora Swingu. [čtyři]

Od roku 2009 se nové změny v gcj téměř zastavily. [5] Produkt je aktuálně v režimu údržby.

Od roku 2015 nebyly od GCJ oznámeny žádné novinky a produkt byl v režimu údržby, přičemž vývoj open source sady nástrojů Java primárně probíhal v OpenJDK. GCJ byl odstraněn z kmene GCC 30. září 2016. Oznámení o jeho odstranění bylo učiněno s vydáním GCC 7.1, které jej neobsahuje. GCJ zůstává součástí GCC 6.

Výkon

Java kód zkompilovaný do nativního kódu pomocí GCJ by měl mít rychlejší startovací čas než ekvivalentní bytecode běžící v JVM [6] .

Jakmile je však Java spuštěna, kód zkompilovaný pomocí GCJ nemusí nutně běžet rychleji než bytekód prováděný moderním JIT s podporou JVM . To platí, i když je GCJ vyvoláno s pokročilými možnostmi optimalizace, jako je -fno-bounds-check -O3 -mfpmath=sse -msse2 -ffast-math -march=native . Zda může zkompilovaný program překonat JVM nebo ne, závisí na konkrétních operacích prováděných kódem [7] .

Programy používající GNU Compiler for Java

Viz také

Poznámky

  1. 1 2 https://gcc.gnu.org/wiki/GCJ
  2. https://gcc.gnu.org/news/gcj-announce.txt
  3. gcj k použití kompilátoru Eclipse jako frontendu (downlink) (8. ledna 2007). Získáno 20. května 2007. Archivováno z originálu 2. května 2012.  
  4. Nejčastější dotazy GCJ – GNU Project – Free Software Foundation (FSF) . Získáno 11. července 2010. Archivováno z originálu 15. ledna 2016.
  5. GCJ: Novinky archivovány 18. dubna 2008.
  6. GCJ: The GNU Static Java Compiler (downlink) . Získáno 11. července 2010. Archivováno z originálu 7. června 2011. 
  7. Porovnání výkonu GCJ vs Java JIT (downlink) . Získáno 11. července 2010. Archivováno z originálu 25. února 2017. 

Odkazy