Content deleted Content added
No edit summary |
m comma |
||
Line 6:
* Javac, included in JDK from [[Sun Microsystems]].
* [[Jikes]], an [[open source]] compiler from [[IBM]], which is written in [[C++]] and uses a variant of [[static single assignment form]] for optimization.
* [[GCJ]], a part of [[GNU Compiler Collection|gcc]] which compiles [[C programming language|C]], [[Fortran]], [[Pascal programming language|Pascal]] and other [[programming language]]s besides Java. It can also generate [[native code]] using the back-end of gcc.
The compiler compiles the Java source code to a Java class file that contains the generated [[Java bytecode]]. The [[Java Virtual Machine]] (JVM) loads the class file and either [[interpreter (computing)|interprets]] the [[bytecode]] or [[just-in-time_compilation|just-in-time]] compiles it to [[machine code]] and then possibly optimizes it using [[dynamic compilation]]. Most Java compilers, Jikes being the only exception, do virtually no [[Optimization (computer science)|optimization]], leaving this until [[runtime]] to be done by the [[JRE]]. Even though each compiler uses a different technique, they all generate the same class file format.
|