javac(「ジャバシー」や「ジャバック」と発音される)は最も基本的なJavaコンパイラで、オラクルのJava Development Kit (JDK) に含まれる。
javacコンパイラはJava言語仕様 (JLS) に準拠するソースコードを入力として、Java仮想マシン仕様 (JVMS) に準拠するバイトコードを生成する。
javac自体がJavaで書かれており(セルフホスティング)、さらにjavacをプログラムから呼び出すこともできる"[...]an application can access javac programmatically."。
歴史 2006年10月13日より、サン・マイクロシステムズのJava仮想マシン (JVM) とJava Development Kit (JDK) がGPLに基づき利用できるようになったSun opens Java (feature story)(Sun's OpenJDK Hotspot pageも参照)。
Javaクラスライブラリの自由ソフトウェアとしての実装であるGNU Classpathは、バージョン0.95からClasspathランタイム (GIJ) とコンパイラ (GCJ) を用いたjavacのコンパイルと起動をサポートしており、GNU Classpath自身でGNU Classpathのクラスライブラリ、ツールおよびサンプルをコンパイルすることもできる"This release supports compiling and running the GPL OpenJDK javac compiler[...]"。
関連項目
Javaコンパイラ - Javaコンパイラ全般の紹介と、既存のjavac代替コンパイラのリストが書かれた記事。 Java Javaプラットフォーム OpenJDK
脚注
外部リンク The Compiler Group - OpenJDKのjavacページ。 The Java Virtual Machine Specification JSR 199 - JavaプログラムからJavaコンパイラを呼び出すためのJava Compiler API Java Specification Request