JDK is an abbreviation for Java Development Kit. The JDK product, formerly owned by Sun Microsystems, is now owned and maintained by theĀ  Oracle Corporation. JDK is licensed under the GNU General Public LicenseĀ (GPL). That is, JDK is a free to use software package.

It is a comprehensive development environment primarily aimed for Java developers. It basically envelops a run-time environment that is stacked on top of a operating system. Other tools needed by a Java progammer to code, compile, debug, and test programs also integrate well with the JDK environment.

The three important components of a JDK are:

  1. Java API Classes
  2. Java Compiler
  3. Java Virtual Machine (JVM)

The Java API Classes provide required functionality and feature set to your Java programs. Java Compiler helps compile a Java code into Byte Code, which then runs on the Java Virtual Machine.

JDK also packs few notable programming tools. Few of them are:

  • Java Web Start Launcher
  • Java Debugger
  • Java Monitoring and Management Console
  • Java Heap Analysis Tool
  • JAR Archiver
  • Annotation Processing Tool
  • IDL to Java Compiler
  • Java Command Line Script Shell
  • JAR Compression Tool
Modules and Structure of JDK

Modules and Structure of JDK

Most variants of JDK also pack code examples and snippets to comprehensively cover the explanation of various Java APIs.

There are multiple variants of JDK available in the market. Many of them were started by Sun Microsystems. Although all the variants of JDK adhere to the same Java specification, their implementation may differ in areas like garbage collection, optimization strategies or compilation method.

Few such JDK variants in the market today are:

  • IBM J9 JDK
  • JRockIt by Oracle Corporation
  • RedHat IcedTea
  • OpenJDK