javac(「ジャバシー」や「ジャバック」と発音される)は最も基本的なJavaコンパイラで、オラクルのJava Development Kit (JDK) に含まれる。 javacコンパイラはJava言語仕様 (JLS) に準拠するソースコードを入力として、Java仮想マシン仕様 (JVMS) に準拠するバイトコードを生成する。 javac自体がJavaで書かれており(セルフホスティング)、さらにjavacをプログラムから呼び出すこともできる。