The GNU Compiler for the JavaTM Programming Language
GCJ is a portable, optimizing, ahead-of-time compiler for the Java Programming Language. It can compile Java source code to Java bytecode (class files) or directly to native machine code, and Java bytecode to native machine code.
Compiled applications are linked with the GCJ runtime, libgcj
, which provides the core class libraries, a garbage collector, and a bytecode interpreter. libgcj
can dynamically load and interpret class files, resulting in mixed compiled/interpreted applications. It has been merged with GNU Classpath and supports most of the 1.4 libraries plus some 1.5 additions.
GCJ can also be configured as a cross-compiler, suitable for embedded systems programming. Recent versions of the GNU Debugger support GCJ (short tutorial).