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.
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] .
Java Virtual Machines ( srovnání ) | |
---|---|
Sun , Oracle | |
Hlavní implementace | |
Vložené |
|
jiný | |
Nepodporováno |
Jáva | |
---|---|
Platformy | |
Sun Technologies | |
Klíčové technologie třetích stran | |
Příběh |
|
Vlastnosti jazyka | |
Skriptovací jazyky |
|
Java konference |
|