# Module java.base

Package Summary
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 contains dynamic language support provided directly by the Java core class libraries and 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 modules, 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, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a random-number generator, and a bit array).
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.