Module java.base

Defines the foundational APIs of the Java SE Platform.

Providers:
The JDK implementation of this module provides an implementation of the jrt file system provider to enumerate and read the class and resource files in a run-time image. The jrt file system can be created by calling FileSystems.newFileSystem(URI.create("jrt:/")).
Tool Guides:
java launcher, keytool
Module Graph:
Module graph for java.base
Since:
9

Packages

Exports
Package Description
java.io

Provides for system input and output through data streams, serialization and the file system.

java.lang

Provides classes that are fundamental to the design of the Java programming language.

java.lang.annotation

Provides library support for the Java programming language annotation facility.

java.lang.invoke

The java.lang.invoke package provides low-level primitives for interacting with the Java Virtual Machine.

java.lang.module

Classes to support module descriptors and creating configurations of modules by means of resolution and service binding.

java.lang.ref

Provides reference-object classes, which support a limited degree of interaction with the garbage collector.

java.lang.reflect

Provides classes and interfaces for obtaining reflective information about classes and objects.

java.math

Provides classes for performing arbitrary-precision integer arithmetic (BigInteger) and arbitrary-precision decimal arithmetic (BigDecimal).

java.net

Provides the classes for implementing networking applications.

java.net.spi

Service-provider classes for the java.net package.

java.nio

Defines buffers, which are containers for data, and provides an overview of the other NIO packages.

java.nio.channels

Defines channels, which represent connections to entities that are capable of performing I/O operations, such as files and sockets; defines selectors, for multiplexed, non-blocking I/O operations.

java.nio.channels.spi

Service-provider classes for the java.nio.channels package.

java.nio.charset

Defines charsets, decoders, and encoders, for translating between bytes and Unicode characters.

java.nio.charset.spi

Service-provider classes for the java.nio.charset package.

java.nio.file

Defines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems.

java.nio.file.attribute

Interfaces and classes providing access to file and file system attributes.

java.nio.file.spi

Service-provider classes for the java.nio.file package.

java.security

Provides the classes and interfaces for the security framework.

java.security.acl

The classes and interfaces in this package have been deprecated.

java.security.cert

Provides classes and interfaces for parsing and managing certificates, certificate revocation lists (CRLs), and certification paths.

java.security.interfaces

Provides interfaces for generating RSA (Rivest, Shamir and Adleman AsymmetricCipher algorithm) keys as defined in the RSA Laboratory Technical Note PKCS#1, and DSA (Digital Signature Algorithm) keys as defined in NIST's FIPS-186.

java.security.spec

Provides classes and interfaces for key specifications and algorithm parameter specifications.

java.text

Provides classes and interfaces for handling text, dates, numbers, and messages in a manner independent of natural languages.

java.text.spi

Service provider classes for the classes in the java.text package.

java.time

The main API for dates, times, instants, and durations.

java.time.chrono

Generic API for calendar systems other than the default ISO.

java.time.format

Provides classes to print and parse dates and times.

java.time.temporal

Access to date and time using fields and units, and date time adjusters.

java.time.zone

Support for time-zones and their rules.

java.util

Contains the collections framework, some internationalization support classes, a service loader, properties, random number generation, string parsing and scanning classes, base64 encoding and decoding, a bit array, and several miscellaneous utility classes.

java.util.concurrent

Utility classes commonly useful in concurrent programming.

java.util.concurrent.atomic

A small toolkit of classes that support lock-free thread-safe programming on single variables.

java.util.concurrent.locks

Interfaces and classes providing a framework for locking and waiting for conditions that is distinct from built-in synchronization and monitors.

java.util.function

Functional interfaces provide target types for lambda expressions and method references.

java.util.jar

Provides classes for reading and writing the JAR (Java ARchive) file format, which is based on the standard ZIP file format with an optional manifest file.

java.util.regex

Classes for matching character sequences against patterns specified by regular expressions.

java.util.spi

Service provider classes for the classes in the java.util package.

java.util.stream

Classes to support functional-style operations on streams of elements, such as map-reduce transformations on collections.

java.util.zip

Provides classes for reading and writing the standard ZIP and GZIP file formats.

javax.crypto

Provides the classes and interfaces for cryptographic operations.

javax.crypto.interfaces

Provides interfaces for Diffie-Hellman keys as defined in RSA Laboratories' PKCS #3.

javax.crypto.spec

Provides classes and interfaces for key specifications and algorithm parameter specifications.

javax.net

Provides classes for networking applications.

javax.net.ssl

Provides classes for the secure socket package.

javax.security.auth

This package provides a framework for authentication and authorization.

javax.security.auth.callback

This package provides the classes necessary for services to interact with applications in order to retrieve information (authentication data including usernames or passwords, for example) or to display information (error and warning messages, for example).

javax.security.auth.login

This package provides a pluggable authentication framework.

javax.security.auth.spi

This package provides the interface to be used for implementing pluggable authentication modules.

javax.security.auth.x500

This package contains the classes that should be used to store X500 Principal and X500 Private Credentials in a Subject.

javax.security.cert

Provides classes for public key certificates.

Services

Provides
Type Description
FileSystemProvider
Uses
Type Description
AbstractChronology

An abstract implementation of a calendar system, used to organize and identify dates.

AsynchronousChannelProvider

Service-provider class for asynchronous channels.

BreakIteratorProvider

An abstract class for service providers that provide concrete implementations of the BreakIterator class.

CalendarDataProvider

An abstract class for service providers that provide locale-dependent Calendar parameters.

CalendarNameProvider

An abstract class for service providers that provide localized string representations (display names) of Calendar field values.

CharsetProvider

Charset service-provider class.

Chronology

A calendar system, used to organize and identify dates.

CollatorProvider

An abstract class for service providers that provide concrete implementations of the Collator class.

ContentHandlerFactory

This interface defines a factory for content handlers.

CurrencyNameProvider

An abstract class for service providers that provide localized currency symbols and display names for the Currency class.

DateFormatProvider

An abstract class for service providers that provide concrete implementations of the DateFormat class.

DateFormatSymbolsProvider

An abstract class for service providers that provide instances of the DateFormatSymbols class.

DecimalFormatSymbolsProvider

An abstract class for service providers that provide instances of the DecimalFormatSymbols class.

FileSystemProvider

Service-provider class for file systems.

FileTypeDetector

A file type detector for probing a file to guess its file type.

LocaleNameProvider

An abstract class for service providers that provide localized names for the Locale class.

LoginModule

Service-provider interface for authentication technology providers.

NumberFormatProvider

An abstract class for service providers that provide concrete implementations of the NumberFormat class.

Provider

This class represents a "provider" for the Java Security API, where a provider implements some or all parts of Java Security.

ResourceBundleControlProvider

An interface for service providers that provide implementations of ResourceBundle.Control.

ResourceBundleProvider

ResourceBundleProvider is a service provider interface for resource bundles.

SelectorProvider

Service-provider class for selectors and selectable channels.

System.LoggerFinder

The LoggerFinder service is responsible for creating, managing, and configuring loggers to the underlying framework it uses.

TimeZoneNameProvider

An abstract class for service providers that provide localized time zone names for the TimeZone class.

ToolProvider

An interface for command-line tools to provide a way to be invoked without necessarily starting a new VM.

URLStreamHandlerProvider

URL stream handler service-provider class.

ZoneRulesProvider

Provider of time-zone rules to the system.