Content deleted Content added
Hervegirod (talk | contribs) m fix date |
Derek farn (talk | contribs) Some reorganization and rewording |
||
Line 1:
In [[computing]], a '''Java compiler''' is a [[
Most Java compilers, [[Jikes]] being
== Major Java compilers ==
[[As of 2006]], the following are major Java [[compiler]]s:
* [[Javac|javac]], included in [[Java Development Kit|JDK]] from [[Sun Microsystems]], open-sourced since the [[13 November]] [[2006]].
* [[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.
* ECJ, the Eclipse Compiler for Java, is an open source [[incremental compiler]] used by the [[Eclipse (software)|Eclipse]] JDT.
* [[Jikes]], an [[open source]] compiler from [[IBM]], which is written in [[C++]] and uses a variant of [[static single assignment form]] for optimization. As of early 2007 the project is no longer being actively developed <ref>The last 1.22 version is of [[October]] [[2004]] [http://sourceforge.net/project/showfiles.php?group_id=128803]. The project CVS activity for the last 12 months is null [http://sourceforge.net/project/stats/detail.php?group_id=128803&ugn=jikes&type=cvs&mode=12months]</ref>.
▲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]]{{Fact|date=April 2007}}.
▲Using this generated [[Java bytecode]], the [[Java Virtual Machine]] (JVM) loads the class files 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]].
The very first Java compiler developed by Sun Microsystems was written in C using some libraries from C++.{{Fact|date=February 2007}}
|