Javac Explained

javac
Caption:Java Compiler
Programming Language:Java[1]
Operating System:Cross-platform
Genre:Compiler
License:GNU General Public License

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]

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 runtimeGNU 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

External links

Notes and References

  1. Web site: The Programming Languages Beacon, v10.0 . Vincent . Lextrait . January 2010 . 14 March 2010 . dead . https://archive.today/20120530/http://www.lextrait.com/Vincent/implementations.html . 30 May 2012.
  2. Web site: Preface to Java Generics.
  3. Web site: Silverman . Shawn . 2002-08-30 . dmy . Java Tip 131: Make a statement with javac! . . 2020-07-14 . [...]an application can access javac programmatically..
  4. Web site: Sun opens Java (feature story) . Sun Microsystems, Inc. . sun.com . 13 November 2006 . dead . https://web.archive.org/web/20070105195350/http://www.sun.com/2006-1113/feature/story.jsp . 5 January 2007.
  5. https://wiki.openjdk.java.net/display/HotSpot/Main Sun's OpenJDK Hotspot page
  6. "This release supports compiling and running the GPL OpenJDK javac compiler[...]" site visit (narrow);open slide(Web site: GNU Classpath 0.95 Announcement.