javac
javac (pronounced "java-see") is the primary Java compiler included in the Java Development Kit (JDK) from Oracle Corporation. Martin Odersky implemented the GJ compiler, and his implementation became the basis for javac.[2]
Written in | Java[1] |
---|---|
Operating system | Cross-platform |
Type | Compiler |
License | GNU General Public License |
Website | www |
The compiler accepts source code conforming to the Java language specification (JLS) and produces Java bytecode conforming to the Java Virtual Machine Specification (JVMS).
javac
is itself written in Java. The compiler can also be invoked programmatically.[3]
History
On 13 November 2006, Sun's HotSpot Java virtual machine (JVM) and Java Development Kit (JDK) were made available[4] under the GPL license.[5]
Since version 0.95, GNU Classpath, a free implementation of the Java Class Library, 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.[6]
See also
- Java compiler – for a general presentation of Java compilers, and a list of other existing alternative compilers.
- Java Platform
- OpenJDK
References
- Lextrait, Vincent (January 2010). "The Programming Languages Beacon, v10.0". Archived from the original on 30 May 2012. Retrieved 14 March 2010.
- "Preface to Java Generics".
- Silverman, Shawn (30 August 2002). "Java Tip 131: Make a statement with javac!". JavaWorld. Retrieved 2020-07-14.
[...]an application can access javac programmatically.
- "Sun opens Java (feature story)". sun.com. Sun Microsystems, Inc. 13 November 2006. Archived from the original on 5 January 2007.
- Sun's OpenJDK Hotspot page
- "This release supports compiling and running the GPL OpenJDK javac compiler[...]" "GNU Classpath 0.95 Announcement".
External links
- The Compiler Group
- JSR 199 Java Compiler API Java Specification Request for invoking the Java compiler from a Java program
- Mercurial repository
- Java Language Specification