The GNU Compiler for Java (GCJ) – zestaw narzędzi dla języka Java, który jest częścią zestawu kompilatorów GCC z projektu GNU.
GCJ kompiluje zarówno pliki źródłowe Javy (rozszerzenie .java) jak i kod bajtowy (rozszerzenie .class, ang. bytecode) Javy do postaci kodu maszynowego. Mimo wszystko kod programu skompilowanego ze źródeł jest lepiej zoptymalizowany niż kod kompilowany z kodu bajtowego.
Stopień zaawansowania GCJ pozwala już między innymi na kompilację tak złożonego projektu jak Eclipse.
Projekt GCJ składa się z trzech zasadniczych części: