Java® Platform, Standard Edition & Java Development Kit
Version 13 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
java.base
Defines the foundational APIs of the Java SE Platform.
java.compiler
Defines the Language Model, Annotation Processing, and Java Compiler APIs.
java.datatransfer
Defines the API for transferring data between and within applications.
java.desktop
Defines the AWT and Swing user interface toolkits, plus APIs for accessibility, audio, imaging, printing, and JavaBeans.
java.instrument
Defines services that allow agents to instrument programs running on the JVM.
java.logging
Defines the Java Logging API.
java.management
Defines the Java Management Extensions (JMX) API.
java.management.rmi
Defines the RMI connector for the Java Management Extensions (JMX) Remote API.
java.naming
Defines the Java Naming and Directory Interface (JNDI) API.
java.net.http
Defines the HTTP Client and WebSocket APIs.
java.prefs
Defines the Preferences API.
java.rmi
Defines the Remote Method Invocation (RMI) API.
java.scripting
Defines the Scripting API.
java.se
Defines the API of the Java SE Platform.
java.security.jgss
Defines the Java binding of the IETF Generic Security Services API (GSS-API).
java.security.sasl
Defines Java support for the IETF Simple Authentication and Security Layer (SASL).
java.smartcardio
Defines the Java Smart Card I/O API.
java.sql
Defines the JDBC API.
java.sql.rowset
Defines the JDBC RowSet API.
java.transaction.xa
Defines an API for supporting distributed transactions in JDBC.
java.xml
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.
java.xml.crypto
Defines the API for XML cryptography.
jdk.accessibility
Defines JDK utility classes used by implementors of Assistive Technologies.
jdk.attach
Defines the attach API.
jdk.charsets
Provides charsets that are not in java.base (mostly double byte and IBM charsets).
jdk.compiler
Defines the implementation of the system Java compiler and its command line equivalent, javac.
jdk.crypto.cryptoki
Provides the implementation of the SunPKCS11 security provider.
jdk.crypto.ec
Provides the implementation of the SunEC security provider.
jdk.dynalink
Defines the API for dynamic linking of high-level operations on objects.
jdk.editpad
Provides the implementation of the edit pad service used by jdk.jshell.
jdk.hotspot.agent
Defines the implementation of the HotSpot Serviceability Agent.
jdk.httpserver
Defines the JDK-specific HTTP server API.
jdk.jartool
Defines tools for manipulating Java Archive (JAR) files, including the jar and jarsigner tools.
jdk.javadoc
Defines the implementation of the system documentation tool and its command line equivalent, javadoc.
jdk.jcmd
Defines tools for diagnostics and troubleshooting a JVM such as the jcmd, jps, jstat tools.
jdk.jconsole
Defines the JMX graphical tool, jconsole, for monitoring and managing a running application.
jdk.jdeps
Defines tools for analysing dependencies in Java libraries and programs, including the jdeps, javap, and jdeprscan tools.
jdk.jdi
Defines the Java Debug Interface.
jdk.jdwp.agent
Provides the implementation of the Java Debug Wire Protocol (JDWP) agent.
jdk.jfr
Defines the API for JDK Flight Recorder.
jdk.jlink
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.
jdk.jshell
Provides the jshell tool for evaluating snippets of Java code, and defines a JDK-specific API for modeling and executing snippets.
jdk.jsobject
Defines the API for the JavaScript Object.
jdk.jstatd
Defines the jstatd tool for starting a daemon for the jstat tool to monitor JVM statistics remotely.
jdk.localedata
Provides the locale data for locales other than US locale.
jdk.management
Defines JDK-specific management interfaces for the JVM.
jdk.management.agent
Defines the JMX management agent.
jdk.management.jfr
Defines the Management Interface for JDK Flight Recorder.
jdk.naming.dns
Provides the implementation of the DNS Java Naming provider.
jdk.naming.rmi
Provides the implementation of the RMI Java Naming provider.
jdk.net
Defines the JDK-specific Networking API.
jdk.pack
Defines tools for transforming a JAR file into a compressed pack200 file and transforming a packed file into a JAR file, including the pack200 and unpack200 tools.
jdk.rmic
Defines the rmic compiler for generating stubs and skeletons using the Java Remote Method Protocol (JRMP) for remote objects.
jdk.scripting.nashorn
Provides the implementation of Nashorn script engine and the runtime environment for programs written in ECMAScript 5.1.
jdk.sctp
Defines the JDK-specific API for SCTP.
jdk.security.auth
Provides implementations of the javax.security.auth.* interfaces and various authentication modules.
jdk.security.jgss
Defines JDK extensions to the GSS-API and an implementation of the SASL GSSAPI mechanism.
jdk.xml.dom
Defines the subset of the W3C Document Object Model (DOM) API that is not part of the Java SE API.
jdk.zipfs
Provides the implementation of the Zip file system provider.