Java compiler

Java compiler

A Java compiler is a compiler for the Java programming language. The most common form of output from a Java compiler are Java class files containing platform-neutral Java bytecode. There exist also compilers emitting optimized native machine code for a particular hardware/Operating system combination.

Most Java-to-bytecode compilers, Jikes being a well known exception, do virtually no optimization, leaving this until runtime to be done by the JREFact|date=April 2007.

The Java Virtual Machine (JVM) loads the class files and either interprets the bytecode or 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

Major Java compilers

As of 2006, the following are major Java compilers:

* javac, included in JDK from Sun Microsystems, open-sourced since 13 November 2006.
* GCJ, a part of gcc which compiles C, Fortran, Pascal and other programming languages 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 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 [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] ] .
* Excelsior JET (commercial) also compiles Java to Windows and Linux binary executables and packages them for deployment.

References

External links

* [http://openjdk.java.net/groups/compiler/ Sun's OpenJDK javac page]
* [http://jikes.sourceforge.net/ Jikes homepage]
* [http://www.jcp.org/en/jsr/detail?id=199 JSR 199] Java Compiler API Java Specification Request for invoking the Java compiler from a Java program


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Java (Framework) — Java Objektorientierte Programmiersprache Basisdaten Paradigmen: Objektorientierte Programmiersprache Aktuelle  …   Deutsch Wikipedia

  • Java (Softwaretechnologie) — Java Objektorientierte Programmiersprache Basisdaten Paradigmen: Objektorientierte Programmiersprache Aktuelle  …   Deutsch Wikipedia

  • Java (Programmiersprache) — Java Basisdaten Paradigmen: Objektorientierte Programmiersprache Erscheinungsjahr …   Deutsch Wikipedia

  • Java (Plattform) — Die Java Plattform (englisch Java Platform) definiert die Ablaufumgebung (Java Virtual Machine) und Programmierschnittstellen (Java Application Programming Interface) innerhalb der Java Technologie. Der Kern der Java Plattform ist die Java… …   Deutsch Wikipedia

  • Java Platform, Standard Edition 6 — Die Java Plattform (englisch Java Platform) definiert die Ablaufumgebung (Java Virtual Machine) und Programmierschnittstellen (Java Application Programming Interface) innerhalb der Java Technologie. Der Kern der Java Plattform ist die Java… …   Deutsch Wikipedia

  • Java Plattform — Die Java Plattform (englisch Java Platform) definiert die Ablaufumgebung (Java Virtual Machine) und Programmierschnittstellen (Java Application Programming Interface) innerhalb der Java Technologie. Der Kern der Java Plattform ist die Java… …   Deutsch Wikipedia

  • Java bytecode — is the form of instructions that the Java virtual machine executes. Each bytecode instruction or opcode is one byte in length, however not all of the possible 256 instructions are used. In fact, Sun Microsystems, the original creators of the Java …   Wikipedia

  • Java-Plattform — Die Java Plattform (englisch Java Platform) definiert die Ablaufumgebung (Java Virtual Machine) und Programmierschnittstellen (Java Application Programming Interface) innerhalb der Java Technologie. Der Kern der Java Plattform ist die Java… …   Deutsch Wikipedia

  • Java (Technologie) — Java Logo Java Technik (englisch Java Technology) ist eine hauptsächlich von Sun Microsystems entwickelte Sammlung von Spezifikationen, die einerseits die Programmiersprache Java und andererseits verschiedene Laufzeitumgebungen für… …   Deutsch Wikipedia

  • Java (Technik) — Java Logo Die Java Technik (englisch Java Technology) ist eine ursprünglich von Sun entwickelte Sammlung von Spezifikationen, die einerseits die Programmiersprache Java und andererseits verschiedene Laufzeitumgebungen für Computerprogramme… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”