# 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:
  ,

Since:
  9

- - ### Packages

    Exports
    Package | Description
    --- | ---
    java.io | Provides for system input and output through data streams, serialization and the file system.
    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.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.

  - ### Services

    Provides
    Type | Description
    --- | ---
    FileSystemProvider | Service-provider class for file systems.

    Uses
    Type | Description
    --- | ---
    AbstractChronology | An abstract implementation of a calendar system, used to organize and identify dates.
    AsynchronousChannelProvider | Service-provider class for asynchronous channels.
    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.
    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.
    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.
    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.
    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.