# Java® Platform, Standard Edition & Java Development Kit
Version 14 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.