The Java™ Programming Language Compiler,
javac
The Java programming language compiler, javac, reads source files
written in the Java programming language, and compiles them into
bytecode class files. Optionally, the compiler can also process
annotations found in source and class files using the Pluggable
Annotation Processing API. The compiler is a command line tool but
can also be invoked using the Java Compiler API. The compiler
accepts source code defined by the Java Language Specification
(JLS) and produces class files defined by the Java Virtual Machine
Specification (JVMS).
API Specification
More Information