Java® Platform, Standard Edition & Java Development Kit
Version 20 API Specification

This document is divided into two sections:

Java SE
The Java Platform, Standard Edition (Java SE) APIs define the core Java platform for general-purpose computing. These APIs are in modules whose names start with java.
JDK
The Java Development Kit (JDK) APIs are specific to the JDK and will not necessarily be available in all implementations of the Java SE Platform. These APIs are in modules whose names start with jdk.
Module
Description
Defines the foundational APIs of the Java SE Platform.
Defines the Language Model, Annotation Processing, and Java Compiler APIs.
Defines the API for transferring data between and within applications.
Defines the AWT and Swing user interface toolkits, plus APIs for accessibility, audio, imaging, printing, and JavaBeans.
Defines services that allow agents to instrument programs running on the JVM.
Defines the Java Logging API.
Defines the Java Management Extensions (JMX) API.
Defines the RMI connector for the Java Management Extensions (JMX) Remote API.
Defines the Java Naming and Directory Interface (JNDI) API.
Defines the HTTP Client and WebSocket APIs.
Defines the Preferences API.
Defines the Remote Method Invocation (RMI) API.
Defines the Scripting API.
Defines the API of the Java SE Platform.
Defines the Java binding of the IETF Generic Security Services API (GSS-API).
Defines Java support for the IETF Simple Authentication and Security Layer (SASL).
Defines the Java Smart Card I/O API.
Defines the JDBC API.
Defines the JDBC RowSet API.
Defines an API for supporting distributed transactions in JDBC.
Defines the Java API for XML Processing (JAXP), the Streaming API for XML (StAX), the Simple API for XML (SAX), and the W3C Document Object Model (DOM) API.
Defines the API for XML cryptography.
Defines JDK utility classes used by implementors of Assistive Technologies.
Defines the attach API.
Provides charsets that are not in java.base (mostly double byte and IBM charsets).
Defines the implementation of the system Java compiler and its command line equivalent, javac.
Provides the implementation of the SunPKCS11 security provider.
Provides the implementation of the SunEC security provider.
Defines the API for dynamic linking of high-level operations on objects.
Provides the implementation of the edit pad service used by jdk.jshell.
Defines the implementation of the HotSpot Serviceability Agent.
Defines the JDK-specific HTTP server API, and provides the jwebserver tool for running a minimal HTTP server.
Defines non-final APIs for concurrent programming.
Defines an API for expressing computations that can be reliably compiled at runtime into SIMD instructions, such as AVX instructions on x64, and NEON instructions on AArch64.
Defines tools for manipulating Java Archive (JAR) files, including the jar and jarsigner tools.
Defines the implementation of the system documentation tool and its command-line equivalent, javadoc.
Defines tools for diagnostics and troubleshooting a JVM such as the jcmd, jps, jstat tools.
Defines the JMX graphical tool, jconsole, for monitoring and managing a running application.
Defines tools for analysing dependencies in Java libraries and programs, including the jdeps, javap, and jdeprscan tools.
Defines the Java Debug Interface.
Provides the implementation of the Java Debug Wire Protocol (JDWP) agent.
Defines the API for JDK Flight Recorder.
Defines the jlink tool for creating run-time images, the jmod tool for creating and manipulating JMOD files, and the jimage tool for inspecting the JDK implementation-specific container file for classes and resources.
Defines the Java Packaging tool, jpackage.
Provides the jshell tool for evaluating snippets of Java code, and defines a JDK-specific API for modeling and executing snippets.
Defines the API for the JavaScript Object.
Defines the jstatd tool for starting a daemon for the jstat tool to monitor JVM statistics remotely.
Provides the locale data for locales other than US locale.
Defines JDK-specific management interfaces for the JVM.
Defines the JMX management agent.
Defines the Management Interface for JDK Flight Recorder.
Provides the implementation of the DNS Java Naming provider.
Provides the implementation of the RMI Java Naming provider.
Defines the JDK-specific Networking API.
Defines JDK-specific file mapping modes.
Defines the JDK-specific API for SCTP.
Provides implementations of the javax.security.auth.* interfaces and various authentication modules.
Defines JDK extensions to the GSS-API and an implementation of the SASL GSSAPI mechanism.
Defines the subset of the W3C Document Object Model (DOM) API that is not part of the Java SE API.
Provides the implementation of the Zip file system provider.