Java® Platform, Standard Edition & Java Development Kit
Version 17 API Specification
This document is divided into three sections:
- OpenJ9
- Modules whose names start with
openj9.
contain APIs provided by the Eclipse OpenJ9 project. These APIs can only be used with a JDK which includes the OpenJ9 virtual machine.- 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 JDK-specific HTTP server API.
Defines an API for accessing foreign memory and calling foreign functions, directly from Java.
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 the jcmd tool, used for obtaining information about a running JVM, or requesting a
running JVM to do operations such as creating diagnotic files or performing a GC.
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.
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.
Defines an API for checkpointing the JVM using CRIU.
Provides access to CUDA-capable devices from Java.
Packed decimal and decimal data access accelerator API.
Diagnostic Tool Framework for Java™ (DTFJ)
The Diagnostic Tool Framework for Java™ (DTFJ) is a Java application
programming interface (API) used to support the building of Java diagnostic
tools.
Defines the jdmpview tool for reading system core and java core diagnostic files.
Defines API to perform certain operations using any connected CUDA capable GPU,
such as sorting arrays of natives types.
Defines API for creating diagnostic dump files, querying and controlling OS logging,
querying Java heap and OS memory stats, and controlling and logging trace file output.
Defines the shared class cache API.
Provides the traceformat utility for formatting binary trace files.
Provides the ConditionException class for z/OS Language Environment condition handling.