GCJ
From JVMLanguages
GCJ is a bandend for the popular GNU C Compiler (GCC) that can compile Java Source Code into either Java Bytecode or native machine code.
This is useful for a number of reasons:
- Java applications compiled with GCJ do not need to be deployed with a Java Runtime Environment. This means that there is no potential problems with users running the wrong JRE.
- Your application does not need to wait for the HotSpot dynamic compiler to translate all of its critical code segments into machine code -- they are loaded off of disk in that format.
- Perhaps the most important benefit is that the Java Native Interface is no longer relevant. Because your Java code becomes ordinary machine code just like C and C++ code do, GCJ can manage communication between your Java and C/C++ code via something it calls the Compiled Native Interface (CNI). This does not have the same level of overhead that is comes with use of the JNI; thus, language integration with GCJ is far more efficient.
[edit]
External Links
- GCJ Home Page (http://gcc.gnu.org/java/)

