javac command is used for compiling Java source files to bytecode files. Bytecode files are platform independent. This means that you can compile your code on one kind of hardware and operating system, and then run the code on any other platform that supports Java.
javac command is included in the Java Development Kit (JDK) distributions.
The Java compiler and the rest of the standard Java toolchain places the following restrictions on the code:
javac compiler should not be confused with the Just in Time (JIT) compiler which compiles bytecodes to native code.