Java Development Kit

from Wikipedia, the free encyclopedia
Java Development Kit

Basic data

developer Oracle Corporation
Current  version Java SE Development Kit 14
( March 2020 )
operating system Windows , Solaris , Linux , macOS
programming language Java , C
German speaking Yes

The Java Development Kit ( JDK ) from Oracle - formerly from Sun Microsystems - is one of the Java SDKs most used by Java developers .

In November 2006, Sun announced that the JDK would be released under the GNU General Public License (GPL). Now an adapted free version is being continued as its now official successor under the name OpenJDK .


In addition to the Java Runtime Environment (JRE), the JDK contains the following Java development tools:

Java compiler

The Java compiler ( javac) translates Java source code into Java bytecode . It reads the source code from files with the extension .javaand writes the bytecode in files that .classend with. The actual file names correspond to the name of the class to be translated. The package in which the class is located is mapped to a suitable directory path. A Java package (English Package ) is a separate namespace . For example, a file HalloWelt.javacan org.wikipedia.HalloWeltcontain the class . The call then creates javac org.wikipedia.HalloWelt.javaa file HalloWelt.classin the “ org/wikipedia” directory (or “ org\wikipedia” under Windows ). The Java compiler is written in Java and is platform-independent, that is, the bytecode of the compiler is identical on different platforms.

Java debugger

The Java Debugger ( jdb) is a tool for debugging a running Java application. Classic debugger functions are supported, such as:

  • Code Listing (view source code)
  • Setting of breakpoints
  • Inspect variables and data structures at runtime

It can be started directly with a runtime environment or it can be linked ad-hoc to an appropriately configured runtime environment (remote debugging). In the documentation it is pointed out that the supplied Java debugger is only a demonstration of the powerful Java Debugging API. As a result, most Java development environments come with an easier-to-use debugger.

Java documentation tool

The documentation generator javadoc generates from the Java source code program documentation as HTML - hypertext . In addition to structural information, comments are also taken into account.

Java archiver

The program jarcreates Java archives (so-called JAR files ). These are special ZIP files in which Java classes are grouped into distributable units. The tool has a similar command line syntax to the well-known Unix program tar, but also enables direct manipulation of the "manifest file" it contains. In the JAR archive, all .classfiles, graphics, text files and other files, for example everything that a Java application needs, are packed into a single file, the JAR archive.

JAR file signing utility

The tool jarsigneris included in the JDK for signing Java applications and libraries and for checking the signature.

Tools for applets

Java applet viewer

It appletvieweris a very simple browser that only shows the Java applets contained in an HTML document in a separate window. This program can be used to quickly and easily test applets while programming.

Java Plug-in HTML Converter

The htmlconverteris an interactive program with which the previously common <applet>-Tags <object>can be converted into -Tags. Such tags are expected from browsers that are equipped with the Java plug-in, which is part of the Java runtime environment JRE.

Web service importer

The utility wsimportwas distributed with the JDK as part of the Java API for XML Web Services . Its main purpose is to generate stubs for web service clients based on a WSDL .

Tools for monitoring performance and managing a Java program


From version 1.5 there is the program jconsolewhich was mainly developed to be able to use the so-called Management Beans (MBeans). With the help of the JConsole you can view and monitor runtime parameters of the JVM, including:

  • Memory consumption (heap, PermGen)
  • How automatic memory management (garbage collection) works
  • The heapdump function can be used to create a snapshot of the entire virtual memory area of ​​a JVM and to obtain detailed information about objects used, references and much more.

The MBeans represent a special case, they are part of the Java Management Extensions . The JConsole can monitor and control both local and remote JVMs. JConsole can be expanded with plugins.


From version 1.6 the utility is jvisualvmdistributed with the JDK . This program, which was not developed directly under the aegis of Sun or Oracle, provides a similar range of functions as the JConsole and can also be expanded with plugins.

Java Mission Control

From version 1.7 Patch 40 (7u40), Oracle distributes the utility program jmc(Java Mission Control) developed in-house on the basis of Eclipse RCP . In addition to the classic functional scope of JConsole and JVisualVM, the flight recorder is a special innovation. This is integrated directly into the JVM and collects a large number of data points from the running VM (memory, instance counter, etc.) if required. Lt. According to the manufacturer, this should take place with a minimal loss of speed, so that, unlike many other solutions, use in a productive environment should be possible. The data can either be collected or evaluated live with Java Mission Control .

Supported Platforms

The current JDK 10 is directly provided by Oracle for the following platforms:

For other platforms, the JDK is usually delivered months to years later and usually directly from the platform manufacturer. In Mac OS X , for example, JDK 1.6 is installed directly by Apple , but from Java 1.7 it is provided by Oracle.

For SAP systems, the JAVA JDK is now provided directly by SAP. The versions SAP JVM 4.1 (Java 1.4), SAP JVM 5 (Java 5) and SAP JVM 6 (Java 6) are currently available for all platforms supported by SAP. The reason for this was mainly the further support for Java 1.4 (now by SAP JVM 4.1), which must be guaranteed by the SAP Business Suite until 2020.


The JDK can be downloaded separately or as a package with the Java IDE NetBeans . It is part of the implementation of the Java Platform, Standard Edition , which among other things also defines which class libraries are available to the developer.

Web links

Individual evidence

  1. JDK Release Notes. Retrieved April 14, 2020 .
  2. Open Source Java: Details and Responses. In: Heise open . November 13, 2006, accessed November 20, 2013 .
  3. javac Java SE documentation at Oracle ; accessed November 20, 2013
  4. jdb - The Java debugger. In: Retrieved July 15, 2020 .
  5. Archive link ( Memento of the original from September 10, 2015 in the Internet Archive ) Info: The archive link has been inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot /
  6. Archive link ( Memento of the original dated November 9, 2015 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot /
  7. Java Mission Control. In: Retrieved July 15, 2020 .
  8. Java Platform, Standard Edition Java Flight Recorder Runtime Guide. In: Retrieved July 15, 2020 .
  9. Java SE Development Kit 10- Downloads. Retrieved June 29, 2018 .
  10. Oracle and Apple Announce OpenJDK Project for Mac OS X Apple PressInfo