JDK | Java Development Kit
Java Development Kit (JDK)
The Java Development Kit is a software development environment used to create Java applications. The JDK includes JRE (Java Runtime Environment), an interpreter (java), a compiler (javac), an archiver, a documentation generator, and other tools needed for java application development.

Oracle Corporation is releasing the platform in the form of a binary product aimed at Java developers on Solaris, Linux, Windows or macOS.

JDK is the implementation of any one of the following Java Platforms, released by Oracle corporation:
- Standard Edition Java Platform
- Enterprise Edition Java Platform
- Micro Edition Java Platform
Components integrated with JDK are:
appletviewer | The tool can be used to execute and debug Java applets without a web browser. |
extcheck | It is a component that detects JAR file conflicts. |
java | It is the loader for Java applications.This tool is an interpreter and can translate the class files generated by the javac compiler. After the introduction of this utility, a single launcher is used for both development and deployment. |
javac | It is the Java compiler, which converts source code into Java bytecode. |
javadoc | It is a documentation generator, which automatically generates documentation from source code comments. |
jar | It is the archiver, which packages related class libraries into a single JAR file. |
apt: | It is an annotation –processing tool. |
idlj | It is the acronym for the IDL-to-Java compiler. This utility of JDK generates Java bindings from a given Java IDL file. |
jabswitch | It is the Java Access bridge. It opened assistive technologies on Microsoft Windows systems. |
javafxpackager | A tool to package and sign JavaFX application |
jarsigner | A jar signing and verification tool. |
javah | It is a C header and stub generator which is used to write native methods. |
javap | A class file disassembler. |
javaws | It is a Java Web Start launcher that can be used by the JNLP application. |
jConsole | Java Monitoring and Management Console |
jdb | It is a debugger that is used to test and debug the programs. |
jhat | Acronym for Java Heap Analysis Tool, it is an experimental utility not yet published publicly. |
jinfo | The utility gets configuration information from a running Java process or crashed dump but it is an experimental component of JDK. |
jmap Oracle-jmap MemoryMap | The components return the memory map and can print the shared object memory map or heap memory detail of a given process/core dump. (experimental) |
jmc | Java Mission Control, allows Java administrators and developers to gather detailed low level information about how the Java Virtual Machine (JVM) and the Java application are behaving. |
jps | Java Virtual Machine Process Status Tool which lists the instrumented HotSpot Java Virtual Machines (JVMs) on the target system. (experimental) |
jrunscript | Java command-line script shell. That enables the programmer to access the operating system’s services. |
jshell | The new jshell introduced in java 9. |
jstack | The component that prints Java Stack traces (a report of the active stack frames at a certain point of time when the program being executed) of Java threads (experimental) |
jstat | Java Virtual Machine statistics monitoring tool (experimental) |
jstatd | jstat daemon (experimental) |
Keytool | A tool for manipulating the keystore (a repository of security certificates- either authorization certificates or public key certificates). |
Pack200 | JAR compression tool which can be used to reduce the size of the jar file. |
policytool | It is the policy creation and management tool, which determines the policy for a Java runtime and specify that which permissions are available for code from various sources. |
VisualVM | It is a visual tool that integrates several Command-Line JDK tools, lightweight performance and memory profiling capabilities. |
wsimport | It generates portable JAX-WS (Java API for XML Web services) artifacts for invoking a web service. |
xjc | The component is part of the Java API for XML Binding (JAXB) API which accepts an XML schema and generates Java classes. |