| 
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.libgcjcan
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).
 
January 8, 2007We've merged the gcj-eclipsebranch to svn trunk.
The merge changes gcj to use the Eclipse compiler as a front end,
enabling all 1.5 language features.  This merge also brings in a new,
generics-enabled version of Classpath, including some new tools.  This
new code will appear in GCC 4.3.September 11, 2006Joel Dice has
announced micro-libgcj
0.1, a lightweight version of libgcj intended to provide a usable
subset of Java's features while remaining small and self-contained.
This release fixes compatibility issues present in the initial 0.0
release and adds
optional SWT
support.June 13, 2006The May 2006 issue of Linux Journal contains the article "Embedded Java with
GCJ" by Gene Sally.June 6, 2006RMS approved the plan to use the Eclipse compiler as the new gcj
front end.  Work is being done on the gcj-eclipsebranch;
it can already build libgcj.  This project will allow us to ship a 1.5
compiler in the relatively near future.  The oldgcjxbranch and project is now dead.May 20, 2006John David Anglin and Andreas Tobler checked in a patch
to enable libjava to be built by default on the HP-UX PA 32-bit platform.
May 19, 2006Mark Wielaard has imported GNU Classpath 0.91 (release
notes) into GCJ.April 26, 2006Andrew Haley has merged in a patch
that eliminates conservative scanning of static data and considerably speeds
up garbage collection in many cases (for example, halving the time spent in
garbage collection when running Eclipse).
April 17, 2006Tom Tromey has announced the
availability of two experimental Just-In-Time (JIT) interpreters for GCJ based
on libjit and LLVM respectively. The source code for these
JITs is available via the "gcj-jit" module of the rhug CVS repository (CVSweb
interface).April 4, 2006fastjarhas been removed from the GCC source tree and made into
a separate project.
The GCJ build process now requires an external tool for creating JARs - it
searches for a tool named eitherjarorfastjarduring configuration and reports an error if it is unable to find such a tool.March 15, 2006David Daney has merged in a patch that
adds the new -freduced-reflectionoption to GCJ. This option
prevents GCJ from generating most of the reflection metadata for classes
resulting in smaller binaries. There are some caveats to using this option 
though - please read the GCJ manual for the implications of using this option.March 9, 2006Mark Wielaard has imported GNU Classpath 0.90 (release
notes) into GCJ.February 8, 2006Mark Wielaard has written "A
look at GCJ 4.1" for LWN.net. |  |