The Java Platform, Standard Edition (SE), includes the Java Runtime Environment (JRE) and its encompassing Java Development Kit (JDK; see Chapter 10), the Java Programming Language, Java Virtual Machines (JVMs), tools/utilities, and the Java SE API libraries. A variety of platforms are available including Windows, macOS, Linux, and Solaris.
Java SE 9 API standard libraries are provided within packages (and modules). Each package is made up of classes and/or interfaces. An abbreviated list of commonly used packages is represented here to demonstrate the capabilities of the API. They are listed outside of the module ordering in JDK 9.
Java SE provides the JavaFX runtime libraries from Java SE 7 update 6 and JavaFX 2.2 onwards. JavaFX has replaced the Swing API as the primary client UI library for Java SE.
java.lang
Language support: system/math methods, fundamental types, strings, threads, and exceptions
java.lang.annotation
Annotation framework: metadata library support
java.lang.instrument
Program instrumentation: agent services to instrument JVM programs
java.lang.invoke
Dynamic Language Support: supported by core classes and VM
java.lang.management
Java Management Extensions API: JVM monitoring and management
java.lang.module
Module descriptors and configurations support
java.lang.ref
Reference-object classes: interaction support with the GC
java.lang.reflect
Reflective information about classes and objects
java.util
Utilities: collections, event model, date/time, and international support
java.util.concurrent
Concurrency utilities: executors, queues, timing, and synchronizers
java.util.concurrent.atomic
Atomic toolkit: lock-free thread-safe programming on single variables
java.util.concurrent.locks
Locking framework: locks and conditions
java.util.function
Functional interfaces: provides target types for lambda expressions and method references
java.util.jar
Java Archive file format: reading and writing
java.util.logging
Logging: failures, errors, performance issues, and bugs
java.util.prefs
User and system preferences: retrieval and storage
java.util.regex
Regular expressions: char sequences matched to patterns
java.util.stream
Streams: functional-style operations on streams of elements
java.util.zip
ZIP and GZIP file formats: reading and writing
java.beans
java.beans.beancontext
Bean context: containers for beans, run environments
java.io
Input/output: through data streams, the filesystem, and serialization
java.math
Mathematics: extra large integer and decimal arithmetic
java.net
Networking: TCP, UDP, sockets, and addresses
java.nio
High performance I/O: buffers, memory-mapped files
java.nio.channels
Channels for I/O: selectors for nonblocking I/O
java.nio.charset
Character sets: translation between bytes and Unicode
java.nio.file
File support: files, file attributes, filesystems
java.nio.file.attribute
File and filesystem attribute support
java.text
Text utilities: text, dates, numbers, and messages
java.time
Time: dates, times, instants, and durations
java.time.chrono
Time: calendar systems
java.time.format
Time: printing and parsing
java.time.temporal
Time: access using fields, units, and adjusters
java.time.zone
Time: support for time zones and their rules
javax.annotation
Annotation types: library support
javax.management
JMX API: application configuration, statistics, and state changes
javax.net
Networking: socket factories
javax.net.http
High level HTTP and WebSocket API
javax.net.ssl
Secured sockets layer: error detection, data encryption/authentication
javax.tools
java.sql
Structured Query Language (SQL): access and processing data source information
javax.jws
Java web services: supporting annotation types
javax.jws.soap
Java web services: SOAP bindings and message parameters
javax.naming
javax.naming.directory
Directory services: JNDI operations for directory-stored objects
javax.naming.event
Event services: JNDI event notification operations
javax.naming.ldap
Lightweight Directory Access Protocol v3: operations and controls
javax.script
Scripting language support: integration, bindings, and invocations
javax.sql
SQL: database APIs and server-side capabilities
javax.sql.rowset.serial
Serializable mappings: between SQL types and data types
javax.sql.rowset
Java Database Connectivity (JDBC) Rowset: standard interfaces
javax.transactions.xa
XA Interface: transaction and resource manager contracts for JTA
javax.accessibility
Accessibility technology: assistive support for UI components
javax.imageio
Java image I/O: image file content description (metadata, thumbnails)
javax.print
Print services: formatting and job submissions
javax.print.attribute
Java Print Services: attributes and attribute set collecting
javax.print.attribute.standard
Standard attributes: widely used attributes and values
javax.print.event
Printing events: services and print job monitoring
javax.sound.midi
Sound: I/O, sequencing, and synthesis of MIDI Types 0 and 1
javax.sound.sampled
Sound: sampled audio data (AIFF, AU, and WAV formats)
javafx.animation
javafx.application
Application life cycle
javafx.beans
Generic form of observability
javafx.beans.binding
Binding characteristics
javafx.beans.property
Read-only and writable properties
javafx.beans.property.adapter
Property adapter
javafx.beans.value
Reading and writing
javafx.collections
JavaFX collection utilities
javafx.concurrent
JavaFX concurrent task
javafx.embed.swing
Swing API application integration
javafx.embed.swt
SWT API application integration
javafx.event
Event framework (e.g., delivery and handling)
javafx.fxml
Markup language (e.g., loading an object hierarchy)
javafx.geometry
Two-dimensional geometry
javafx.scene
javafx.scene.canvas
javafx.scene.chart
Chart components: data visualization
javafx.scene.control
User interface controls: specialized nodes in the scene graph
javafx.scene.control.cell
Cell-related classes (i.e., noncore classes)
javafx.scene.effect
Graphical filter effects: supporting scene graph nodes
javafx.scene.image
Loading and displaying images
javafx.scene.input
Mouse and keyboard input event handling
javafx.scene.layout
Interface layout classes
javafx.scene.media
Audio and video classes
javafx.scene.paint
Colors and gradients support (e.g., fill shapes and backgrounds)
javafx.scene.shape
Two-dimensional shapes
javafx.scene.text
Fonts and text node rendering
javafx.scene.transform
Transformation: rotating, scaling, shearing, and translation for affine objects
javafx.scene.web
Web content: loading and displaying web content
javafx.stage
Stage: top-level container
javafx.util
Utilities and helper classes
javafx.util.converter
java.rmi
java.rmi.activation
RMI object activation: activates persistent remote object’s references
java.rmi.dgc
RMI distributed garbage collection (DGC): remote object tracking from client
java.rmi.registry
RMI registry: remote object that maps names to remote objects
java.rmi.server
RMI server side: RMI transport protocol, Hypertext Transfer Protocol (HTTP) tunneling, stubs
javax.rmi
Remote Method Invocation (RMI): Remote Method Invocation Internet InterORB Protocol (RMI-IIOP), Java Remote Method Protocol (JRMP), Java Remote Method Protocol (JRMP)
javax.rmi.CORBA
Common Object Request Broker Architecture (CORBA) support: portability APIs for RMI-IIOP and Object Request Brokers (ORBs)
javax.rmi.ssl
org.omg.CORBA
OMG CORBA: CORBA to Java mapping, ORBs
org.omg.CORBA_2_3
OMG CORBA additions: further Java Compatibility Kit (JCK) test support
java.security
java.security.cert
Certifications: parsing, managing Certificate Revocation Lists (CRLs) and certification paths
java.security.interfaces
Security interfaces: Rivest, Shamir, and Adelman (RSA) and Digital Signature Algorithm (DSA) generation
java.security.spec
Specifications: security keys and algorithm parameters
javax.crypto
Cryptographic operations: encryption, keys, MAC generations
javax.crypto.interfaces
javax.crypto.spec
Specifications: for security key and algorithm parameters
javax.security.auth
Security authentication and authorization: access controls specifications
javax.security.auth.callback
Authentication callback support: services interaction with apps
javax.security.auth.kerberos
Kerberos network authentication protocol: related utility classes
javax.security.auth.login
Login and configuration: pluggable authentication framework
javax.security.auth.x500
X500 Principal and X500 Private Credentials: subject storage
javax.security.sasl
Simple Authentication and Security Layer (SASL): SASL authentication
org.ietf.jgss
Java Generic Security Service (JGSS): authentication, data integrity
javax.xml
javax.xml.bind
XML runtime bindings: unmarshalling, marshalling, and validation
javax.xml.catalog
XML catalog support: XML Catalogs OASIS Standard V1.1, 7 October 2005
javax.xml.crypto
XML cryptography: signature generation and data encryption
javax.xml.crypto.dom
XML and Document Object Model (DOM): cryptographic implementations
javax.xml.crypto.dsig
XML digital signatures: generating and validating
javax.xml.datatype
XML and Java data types: mappings
javax.xml.namespace
XML namespaces: processing
javax.xml.parsers
javax.xml.soap
XML; SOAP messages: creation and building
javax.xml.transform
XML transformation processing: no DOM or SAX dependency
javax.xml.transform.dom
XML transformation processing: DOM-specific API
javax.xml.transform.sax
XML transformation processing: SAX-specific API
javax.xml.transform.stax
XML transformation processing: Streaming API for XML (StAX) API
javax.xml.validation
XML validation: verification against XML schema
javax.xml.ws
javax.xml.ws.handler
JAX-WS message handlers: message context and handler interfaces
javax.xml.ws.handler.soap
JAX-WS: SOAP message handlers
javax.xml.ws.http
JAX-WS: HTTP bindings
javax.xml.ws.soap
JAX-WS: SOAP bindings
javax.xml.xpath
XPath expressions: evaluation and access
org.w3c.dom
org.xml.sax
XML.org’s SAX: file content and structure access and updates