Java compiler: Difference between revisions

Content deleted Content added
Pdwalker (talk | contribs)
m added new decompiler entry
clean up, Replaced: runtimeruntime, using AWB
Line 1:
A '''Java compiler''' is a [[compiler]] for the [[Java (programming language)|Java programming language]]. The most common form of output from a Java compiler are [[Class (file format)|Java class files]] containing platform-neutral [[Java bytecode]]. There exist also compilers emitting optimized [[Machine code|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 (computer science)|optimization]], leaving this until [[Run time (computing)|runtime]] to be done by the [[JRE]]{{Fact|date=April 2007}}.
 
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]].
Line 19:
== Java decompilers ==
 
A Java [[Decompiler|decompiler]] tries to reverse the process of compiling, that is it tries to decompile Java bytecode files (*.class) back to Java source files (*.java).
 
* [[DJ Java Decompiler]] [http://www.neshkov.com/] 10 use trial version
* [[JAD_JAD (JAva_DecompilerJAva Decompiler)|JAD]], written in [[C++]], free for non-commercial use.
* [[JD_Java_DecompilerJD Java Decompiler|JD]] [http://java.decompiler.free.fr/], younger project, includes GUI, optional Eclipse-plugin.
* [[JODE]] [http://jode.sourceforge.net/], decompiler and optimizer, open-source.
 
Line 35:
* [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
 
{{DEFAULTSORT:Java Compiler}}
{{compu-lang-stub}}
 
[[Category:Java platform|Compiler]]
[[Category:Java programming language]]
 
 
{{compu-lang-stub}}
 
[[da:Javac]]