GCJ can compile Java
source code to either
Java Virtual Machine bytecode, or directly to
machine code for any of a number of
CPU architectures. It can also compile
class files containing bytecode or entire
JARs containing such files into machine code.