Javac tool is the program that is used to compile Java source code into complied classes.  The java source code is written in files with extension .java. In order to execute the program, these files need to be compiled in .class files. The javac executable comes with the JDK. It can be launched from the command line with bunch of input parameters. The main input it to specify the location of source files that need to be compiled. This source files can depends on other classes (compiled) or classes in jars(libs) which are specified as classpath arguments. Once run it will created the complied .class files which further can be run with java tool.

How does Javac work?