GNU-kääntäjä Javalle | |
---|---|
Tyyppi | Kääntäjä |
Tekijä | Cygnus Solutions [1] |
Kehittäjä | GNU projekti |
Käyttöjärjestelmä | Unixin kaltainen |
Ensimmäinen painos | 1998 [1] [2] |
Laitteistoalusta | Java-virtuaalikone |
uusin versio | 6.5 / 26. lokakuuta 2018 ( 4. joulukuuta 2015 ) |
Lisenssi | GNU GPL |
Verkkosivusto | gcc.gnu.org/gcc-6/ |
Mediatiedostot Wikimedia Commonsissa |
GNU Compiler for Java ( GCJ tai gcj ) on ilmainen Java - kielen kääntäjä , joka on osa GNU Compiler Collection -kokoelmaa , mutta vuodesta 2017 lähtien sitä ei enää ylläpidetä, eikä se ole osa tulevia julkaisuja.
GCJ voi kääntää Java - lähdekoodin Java Virtual Machine -tavukoodiksi tai suoraan konekoodiksi monissa prosessoriarkkitehtuureissa . Se voi myös kääntää konekoodiksi tavukoodia sisältäviä luokkatiedostoja tai tällaisia tiedostoja sisältäviä kokonaisia JAR -tiedostoja.
Suurin osa gcj:n käyttämistä ajonaikaisista kirjastoista on peräisin GNU Classpath -projektista (vrt. kirjasto libgcj ). Gcj 4.3:sta lähtien gcj:n on integroinut ecj, Eclipse Java -kääntäjä . [3]
Vuodesta 2007 lähtien on tehty paljon työtä GNU Classpathin tuen eteen kahdelle Java - grafiikkasovellusliittymälle : AWT ja Swing . AWT:n tuki on jatkuvaa, minkä jälkeen tuki Swingille. [neljä]
Vuodesta 2009 lähtien gcj:n uudet muutokset ovat melkein pysähtyneet. [5] Tuote on tällä hetkellä huoltotilassa.
Vuodesta 2015 lähtien GCJ ei ole ilmoittanut uutta kehitystä ja tuote oli ylläpitotilassa, ja avoimen lähdekoodin Java-työkalupakin kehitys tapahtui pääasiassa OpenJDK:ssa. GCJ poistettiin GCC:n rungosta 30. syyskuuta 2016. Ilmoitus sen poistamisesta tehtiin GCC 7.1:n julkaisun myötä, joka ei sisällä sitä. GCJ on edelleen osa GCC 6:ta.
GCJ:tä käyttämällä natiivikoodiin käännetyn Java-koodin käynnistysajan tulisi olla nopeampi kuin vastaavalla JVM:ssä ajettavalla tavukoodilla [6] .
Kuitenkin, kun Java on käynnissä, GCJ:n kääntämä koodi ei välttämättä toimi nopeammin kuin nykyaikaisen JIT -yhteensopivan JVM:n suorittama tavukoodi . Tämä pätee myös silloin, kun GCJ:tä kutsutaan edistyneillä optimointivaihtoehdoilla, kuten -fno-bounds-check -O3 -mfpmath=sse -msse2 -ffast-math -march=native . Se, voiko käännetty ohjelma ylittää JVM:n vai ei, riippuu koodin suorittamista erityisistä toiminnoista [7] .
Java-virtuaalikoneet ( vertailu ) | |
---|---|
Aurinko , Oraakkeli | |
Tärkeimmät toteutukset | |
Upotettu |
|
Muut | |
Ei tuettu |
Java | |
---|---|
Alustat | |
Sun Technologies | |
Kolmannen osapuolen keskeiset tekniikat | |
Tarina |
|
Kielen ominaisuudet | |
Scripting kielet |
|
Java-konferenssit |
|