Java tool is the program that launches the JVM. The java executable comes with the JDK and is also part of JRE. It can be launched from the command line with bunch of input parameters. The main class that needs to be run as the starting point is the required parameter. This main class depends on other classes (compiled) or classes in jars(libs) which are specified as classpath arguments. Also various environment variables like garbage collection algorithms, heap size etc. can be specified to configure the JVM.