GCJ
{{#invoke:Bandeau|ébauche}} Modèle:Voir homonymes Modèle:Infobox V3/Début Modèle:Infobox V3/Image Wikidata Modèle:Infobox V3/Séparateur Modèle:Infobox V3/Image Wikidata
Modèle:Infobox V3/Tableau début
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
{{#ifeq:Modèle:Wikidata|Modèle:Wikidata | | Modèle:Infobox V3/Tableau Ligne mixte Wikidata }}
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte {{#invoke:Infobox/Fonctions/Logiciel|catByProgrammingLanguage}}
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Titre Bloc Modèle:Infobox V3/Navigateur
Modèle:Infobox V3/Fin avec WikidataModèle:Rien{{#ifeq:|| {{#if:
| }}{{#if:
| {{#if: | | }}
}} }} GCJ (Modèle:Langue) était le compilateur Java du projet GNU, sous licence libre. Il a été un des composants de GCC de la version 3 jusqu'à la version 6, avant d'en être retiré à partir de la version 7<ref name="GCC 7.1 Changelog">Modèle:Lien web.</ref>.
Contrairement au compilateur du SDK Java de Sun Microsystems produisant exclusivement du bytecode Java, gcj opte pour une approche traditionnelle en produisant du code natif pour l'architecture matérielle<ref>Modèle:Article</ref>. De plus GCJ est également capable de fonctionner comme un compilateur Java classique en produisant du bytecode, et permet également de transformer du bytecode vers du code natif. La plupart des bibliothèques Java utilisées par GCJ viennent du projet GNU Classpath et forment la librairie libgcj.
L'utilisation du code natif permet d'augmenter sensiblement la rapidité d'exécution, au détriment de la portabilité.
gcj étant intégré à la suite de compilateur GCC permet d'utiliser tous les outils de celle-ci, notamment le débogueur gdb.
D'importants efforts de développement ont été effectuées durant la première moitié des années 2000 afin de constituer une plateforme java libre<ref>Modèle:Lien web</ref>, et gcj commençait à être intégré dans les distributions linux<ref>Modèle:Lien web</ref>. Mais à la suite du passage sous licence libre de java en 2006<ref>Modèle:Lien web</ref>, une grande partie de la communauté open source java s'est tourné vers OpenJDK diminuant l'attrait de ce projet. Le retrait de gcj, évoqué en 2013<ref>Modèle:Article</ref>, est effectif depuis la version 7 de GCC.