The most common language targeting Java Virtual Machine by producing Java bytecode is Java. Originally only one compiler existed, the javac compiler from Sun Microsystems, which compiles Java source code to Java bytecode; but because all the specifications for Java bytecode are now available, other parties have supplied compilers that produce Java bytecode. Examples of other compilers include:
Jikes, compiles from Java to Java bytecode (developed by IBM, implemented in C++)
Espresso, compiles from Java to Java bytecode (Java 1.0 only)
GCJ, the GNU Compiler for Java, compiles from Java to Java bytecode; it is also able to compile to native machine code and is available as part of the GNU Compiler Collection (GCC).
William Butler Yeats: All life is a preparation for something that probably will never happen. Unless you make it happen.