The Java Development Kit contains the software and tools needed to compile, debug, and run applications that you've written using Java. JDK has as its primary components a collection of programming tools, including javac, jar, and the archiver, which packages related class libraries into a single JAR file. This tool also helps manage JAR files, javadoc - the documentation generator, which automatically generates documentation from source code comments, jdb - the debugger, jps - the process status tool, which displays process information for current Java processes, javap - the class file disassembler, and so many other components. The JDK also comes with a complete Java Runtime Environment, usually called a private runtime. It consists of a Java Virtual Machine and all of the class libraries present in the production environment, as well as additional libraries only useful to developers, such as the internationalization libraries and the IDL libraries.