javac (pronounced "java-see") is the primary
Java compiler included in the
Java Development Kit
The Java Development Kit (JDK) is a distribution of Java technology by Oracle Corporation. It implements the Java Language Specification (JLS) and the Java Virtual Machine Specification (JVMS) and provides the Standard Edition (SE) of the Java ...
(JDK) from
Oracle Corporation
Oracle Corporation is an American Multinational corporation, multinational computer technology company headquartered in Austin, Texas. Co-founded in 1977 in Santa Clara, California, by Larry Ellison, who remains executive chairman, Oracle was ...
.
Martin Odersky implemented the GJ compiler, and his implementation became the basis for javac.
The compiler accepts source code conforming to the Java language specification (JLS) and produces
Java bytecode
Java bytecode is the instruction set of the Java virtual machine (JVM), the language to which Java and other JVM-compatible source code is compiled. Each instruction is represented by a single byte, hence the name bytecode, making it a compact ...
conforming to the Java Virtual Machine Specification (JVMS).
javac
is
itself written in Java. The compiler can also be invoked programmatically.
History
On 13 November 2006, Sun's
HotSpot Java virtual machine
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally descr ...
(JVM) and
Java Development Kit
The Java Development Kit (JDK) is a distribution of Java technology by Oracle Corporation. It implements the Java Language Specification (JLS) and the Java Virtual Machine Specification (JVMS) and provides the Standard Edition (SE) of the Java ...
(JDK) were made available under the
GPL license.
Since version 0.95,
GNU Classpath, a
free implementation of the
Java Class Library
The Java Class Library (JCL) is a set of dynamically loadable libraries that Java Virtual Machine (JVM) languages can call at run time. Because the Java Platform is not dependent on a specific operating system, applications cannot rely on any o ...
, supports compiling and running javac using the Classpath
runtime —
GNU Interpreter for Java (GIJ) — and compiler —
GNU Compiler for Java (GCJ) — and also allows one to compile the
GNU Classpath class library, tools and examples with javac itself.
[
"This release supports compiling and running the GPL OpenJDK javac compiler .. site visit (narrow);
open slide(
]
See also
*
Java compiler – for a general presentation of Java compilers, and a list of other existing alternative compilers.
*
Java Platform
Java is a set of computer software and specifications that provides a software platform for developing application software and deploying it in a cross-platform computing environment. Java is used in a wide variety of computing platforms fr ...
*
OpenJDK
OpenJDK (Open Java Development Kit) is a free and open-source implementation of the Java Platform, Standard Edition (Java SE). It is the result of an effort Sun Microsystems began in 2006, four years before the company was acquired by Oracle Corp ...
References
{{Reflist
External links
The Compiler GroupJSR 199Java Compiler API
Java Specification Request for invoking the Java compiler from a Java program
Mercurial repository
Java compilers