# CS116 - Java Tools **Lecturer**: [Boris Glavic](http://www.cs.iit.edu/~glavic/) **Semester**: Spring 2019
## JDK * The Java runtime environment (JRE) * Provides a java virtual machine (binary `java`) which allows compiled java byte code to be executed * The Java development kit (JDK) * Also include the java compiler `javac` which compiles java source code to byte code *
## Java Binary * Use the `java` binary to start a virtual machine and execute code ```shell $java -cp
``` * `
` - the class path is a colon-separated list of directories and jar files which contain the classes which are needed to run the main method of `
`
## The Java Compiler * Use the `java` compiler to compile java source files (`.java`) into byte-code for the VM (`class`) files ```shell $javac -cp
-d
``` * the generated `.class` files are stored in a package directory structure in folder `
`
## javadoc * Tool for generating documentation from comments in class files. We will discuss this in more detail when talking about [Documentation](/~glavic/cs116/lectures/javadoc.html)
## jar * A tool for creating, inspecting, and extracting `.jar` files * A jar file packages Java sources, classes, documentation, and other content * `.jar` files are a convenient way to package your compiled java code
## jconsole * A monitoring tool that allows you to monitor and manage java applications
## jdb * A commandline debugger for java * We will talk more about `jdb` when discussing [debugging](/~glavic/cs116/lectures/debug.html)