Top Description Interfaces Annotations Classes
module java.base

Package java.lang


Provides classes that are fundamental to the design of the Java programming language. The most important classes are Object, which is the root of the class hierarchy, and Class, instances of which represent classes at run time.

Frequently it is necessary to represent a value of primitive type as if it were an object. The wrapper classes Boolean, Character, Integer, Long, Float, and Double serve this purpose. An object of type Double, for example, contains a field whose type is double, representing that value in such a way that a reference to it can be stored in a variable of reference type. These classes also provide a number of methods for converting among primitive values, as well as supporting such standard methods as equals and hashCode. The Void class is a non-instantiable class that holds a reference to a Class object representing the type void.

The class Math provides commonly used mathematical functions such as sine, cosine, and square root. The classes String, StringBuffer, and StringBuilder similarly provide commonly used operations on character strings.

Classes ClassLoader, Process, ProcessBuilder, Runtime, SecurityManager, and System provide "system operations" that manage the dynamic loading of classes, creation of external processes, host environment inquiries such as the time of day, and enforcement of security policies.

Class Throwable encompasses objects that may be thrown by the throw statement. Subclasses of Throwable represent errors and exceptions.

Character Encodings

The specification of the java.nio.charset.Charset class describes the naming conventions for character encodings as well as the set of standard encodings that must be supported by every implementation of the Java platform.
Since
1.0

Interface Summary

Modifier and TypeInterface and Description
public interface
Appendable

An object to which char sequences and values can be appended.

public interface
AutoCloseable

An object that may hold resources (such as file or socket handles) until it is closed.

public interface
CharSequence

A CharSequence is a readable sequence of char values.

public interface
Cloneable

A class implements the Cloneable interface to indicate to the java.lang.Object#clone() method that it is legal for that method to make a field-for-field copy of instances of that class.

public interface
Comparable<
the type of objects that this object may be compared to
T
>

This interface imposes a total ordering on the objects of each class that implements it.

public interface
Iterable<
the type of elements returned by the iterator
T
>

Implementing this interface allows an object to be the target of the enhanced for statement (sometimes called the "for-each loop" statement).

pack-priv interface
LiveStackFrame

UNSUPPORTED This interface is intended to be package-private or move to an internal package.

public interface
ProcessHandle

ProcessHandle identifies and provides control of native processes.

public interface
Readable

A Readable is a source of characters.

public interface
Runnable

Represents an operation that does not return a result.

Annotation Summary

Modifier and TypeAnnotation and Description
public @interface
Deprecated

A program element annotated @Deprecated is one that programmers are discouraged from using.

public @interface
FunctionalInterface

An informative annotation type used to indicate that an interface type declaration is intended to be a functional interface as defined by the Java Language Specification.

public @interface
Override

Indicates that a method declaration is intended to override a method declaration in a supertype.

public @interface
SafeVarargs

A programmer assertion that the body of the annotated method or constructor does not perform potentially unsafe operations on its varargs parameter.

public @interface
SuppressWarnings

Indicates the warnings to be suppressed at compile time in the annotated element, and in all elements contained in the annotated element.

Class Summary

Modifier and TypeClass and Description
public class
AbstractMethodError

Thrown when an application tries to call an abstract method.

pack-priv abstract class
AbstractStringBuilder

A mutable sequence of characters.

pack-priv class
public class
ArithmeticException

Thrown when an exceptional arithmetic condition has occurred.

public class
ArrayIndexOutOfBoundsException

Thrown to indicate that an array has been accessed with an illegal index.

public class
ArrayStoreException

Thrown to indicate that an attempt has been made to store the wrong type of object into an array of objects.

public class
AssertionError

Thrown to indicate that an assertion has failed.

pack-priv class
AssertionStatusDirectives

A collection of assertion status directives (such as "enable assertions in package p" or "disable assertions in class c").

pack-priv abstract class
BaseVirtualThread

Base class for virtual thread implementations.

public class
Boolean

The Boolean class wraps a value of the primitive type boolean in an object.

public class
BootstrapMethodError

Thrown to indicate that an invokedynamic instruction or a dynamic constant failed to resolve its bootstrap method and arguments, or for invokedynamic instruction the bootstrap method has failed to provide a call site with a target of the correct method type, or for a dynamic constant the bootstrap method has failed to provide a constant value of the required type.

public class
Byte

The Byte class wraps a value of primitive type byte in an object.

public class
Character

The Character class wraps a value of the primitive type char in an object.

pack-priv abstract class
pack-priv class
CharacterData00

The CharacterData00 class encapsulates the large tables once found in java.lang.Character

pack-priv class
CharacterData01

The CharacterData class encapsulates the large tables once found in java.lang.Character.

pack-priv class
CharacterData02

The CharacterData class encapsulates the large tables found in Java.lang.Character.

pack-priv class
CharacterData03

The CharacterData class encapsulates the large tables found in Java.lang.Character.

pack-priv class
CharacterData0E

The CharacterData class encapsulates the large tables found in Java.lang.Character.

pack-priv class
CharacterDataLatin1

The CharacterData class encapsulates the large tables found in Java.lang.Character.

pack-priv class
CharacterDataPrivateUse

The CharacterData class encapsulates the large tables found in Java.lang.Character.

pack-priv class
CharacterDataUndefined

The CharacterData class encapsulates the large tables found in Java.lang.Character.

pack-priv class
public class
Class<
the type of the class modeled by this Class object. For example, the type of String.class is Class<String>. Use Class<?> if the class being modeled is unknown.
T
>

Instances of the class Class represent classes and interfaces in a running Java application.

public class
ClassCastException

Thrown to indicate that the code has attempted to cast an object to a subclass of which it is not an instance.

public class
ClassCircularityError

Thrown when the Java Virtual Machine detects a circularity in the superclass hierarchy of a class being loaded.

public class
ClassFormatError

Thrown when the Java Virtual Machine attempts to read a class file and determines that the file is malformed or otherwise cannot be interpreted as a class file.

pack-priv class
ClassFrameInfo

ClassFrameInfo is an implementation of StackFrame that contains only the class name and declaring class.

public abstract class
ClassLoader

A class loader is an object that is responsible for loading classes.

public class
ClassNotFoundException

Thrown when an application tries to load in a class through its string name using:

  • The forName method in class Class.
  • The findSystemClass method in class ClassLoader .
  • The loadClass method in class ClassLoader.
public abstract class
ClassValue<
the type of the derived value
T
>

Lazily associate a computed value with (potentially) every type.

public class
CloneNotSupportedException

Thrown to indicate that the clone method in class Object has been called to clone an object, but that the object's class does not implement the Cloneable interface.

pack-priv class
pack-priv class
ConditionalSpecialCasing

This is a utility class for String.toLowerCase() and String.toUpperCase(), that handles special casing with conditions.

public class
Double

The Double class wraps a value of the primitive type double in an object.

public abstract class
Enum<
The type of the enum subclass
E extends Enum<E>
>

This is the common base class of all Java language enumeration classes.

public class
EnumConstantNotPresentException

Thrown when an application tries to access an enum constant by name and the enum type contains no constant with the specified name.

public class
Error

An Error is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch.

public class
Exception

The class Exception and its subclasses are a form of Throwable that indicates conditions that a reasonable application might want to catch.

public class
ExceptionInInitializerError

Signals that an unexpected exception has occurred in a static initializer.

pack-priv class
FdLibm

Port of the "Freely Distributable Math Library", version 5.3, from C to Java.

public class
Float

The Float class wraps a value of primitive type float in an object.

public class
IllegalAccessError

Thrown if an application attempts to access or modify a field, or to call a method that it does not have access to.

public class
IllegalAccessException

An IllegalAccessException is thrown when an application tries to reflectively create an instance (other than an array), set or get a field, or invoke a method, but the currently executing method does not have access to the definition of the specified class, field, method or constructor.

public class
IllegalArgumentException

Thrown to indicate that a method has been passed an illegal or inappropriate argument.

public class
IllegalCallerException

Thrown to indicate that a method has been called by an inappropriate caller.

public class
IllegalMonitorStateException

Thrown to indicate that a thread has attempted to wait on an object's monitor or to notify other threads waiting on an object's monitor without owning the specified monitor.

public class
IllegalStateException

Signals that a method has been invoked at an illegal or inappropriate time.

public class
IllegalThreadStateException

Thrown to indicate that a thread is not in an appropriate state for the requested operation.

public class
IncompatibleClassChangeError

Thrown when an incompatible class change has occurred to some class definition.

public class
IndexOutOfBoundsException

Thrown to indicate that an index of some sort (such as to an array, to a string, or to a vector) is out of range.

public class
InheritableThreadLocal<
the type of the inheritable thread local's value
T
>

This class extends ThreadLocal to provide inheritance of values from parent thread to child thread: when a child thread is created, the child receives initial values for all inheritable thread-local variables for which the parent has values.

public class
InstantiationError

Thrown when an application tries to use the Java new construct to instantiate an abstract class or an interface.

public class
InstantiationException

Thrown when an application tries to create an instance of a class using the newInstance method in class Class, but the specified class object cannot be instantiated.

public class
Integer

The Integer class wraps a value of the primitive type int in an object.

public class
InternalError

Thrown to indicate some unexpected internal error has occurred in the Java Virtual Machine.

public class
InterruptedException

Thrown when a thread is waiting, sleeping, or otherwise occupied, and the thread is interrupted, either before or during the activity.

public class
LayerInstantiationException

Thrown when creating a module layer fails.

public class
LinkageError

Subclasses of LinkageError indicate that a class has some dependency on another class; however, the latter class has incompatibly changed after the compilation of the former class.

pack-priv class
public class
Long

The Long class wraps a value of the primitive type long in an object.

public class
MatchException

Thrown to indicate an unexpected failure in pattern matching.

public class
Math

The class Math contains methods for performing basic numeric operations such as the elementary exponential, logarithm, square root, and trigonometric functions.

public class
Module

Represents a run-time module, either named or unnamed.

public class
ModuleLayer

A layer of modules in the Java virtual machine.

pack-priv class
NamedPackage

A NamedPackage represents a package by name in a specific module.

public class
NegativeArraySizeException

Thrown if an application tries to create an array with negative size.

public class
NoClassDefFoundError

Thrown if the Java Virtual Machine or a ClassLoader instance tries to load in the definition of a class (as part of a normal method call or as part of creating a new instance using the new expression) and no definition of the class could be found.

public class
NoSuchFieldError

Thrown if an application tries to access or modify a specified field of an object, and that object no longer has that field.

public class
NoSuchFieldException

Signals that the class doesn't have a field of a specified name.

public class
NoSuchMethodError

Thrown if an application tries to call a specified method of a class (either static or instance), and that class no longer has a definition of that method.

public class
NoSuchMethodException

Thrown when a particular method cannot be found.

public class
NullPointerException

Thrown when an application attempts to use null in a case where an object is required.

public abstract class
Number

The abstract class Number is the superclass of platform classes representing numeric values that are convertible to the primitive types byte, double, float, int, long, and short.

public class
NumberFormatException

Thrown to indicate that the application has attempted to convert a string to one of the numeric types, but that the string does not have the appropriate format.

public class
Object

Class Object is the root of the class hierarchy.

public class
OutOfMemoryError

Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory could be made available by the garbage collector.

public class
Package

Represents metadata about a run-time package associated with a class loader.

pack-priv class
PinnedThreadPrinter

Helper class to print the virtual thread stack trace when pinned.

public abstract class
Process

Process provides control of native processes started by ProcessBuilder.start and Runtime.exec.

public class
ProcessBuilder

This class is used to create operating system processes.

pack-priv class
pack-priv class
ProcessHandleImpl

ProcessHandleImpl is the implementation of ProcessHandle.

pack-priv class
ProcessImpl

java.lang.Process subclass in the UNIX environment.

pack-priv class
PublicMethods

A collection of most specific public methods.

public abstract class
Record

This is the common base class of all Java language record classes.

public class
ReflectiveOperationException

Common superclass of exceptions thrown by reflective operations in core reflection.

public class
Runtime

Every Java application has a single instance of class Runtime that allows the application to interface with the environment in which the application is running.

public class
RuntimeException

RuntimeException is the superclass of those exceptions that can be thrown during the normal operation of the Java Virtual Machine.

public class
RuntimePermission

This class is for runtime permissions.

public class
ScopedValue<
the type of the value
T
>

Preview Third Preview of Scoped Values (JEP 481).

A value that may be safely and efficiently shared to methods without using method parameters.
public class
SecurityException

Thrown by the security manager to indicate a security violation.

public class
SecurityManager

Deprecated for removal since 17. The Security Manager is deprecated and subject to removal in a future release. There is no replacement for the Security Manager. See JEP 411 for discussion and alternatives.
The security manager is a class that allows applications to implement a security policy.
public class
Short

The Short class wraps a value of primitive type short in an object.

pack-priv class
Shutdown

Package-private utility class containing data structures and logic governing the virtual-machine shutdown sequence.

pack-priv class
StackFrameInfo

StackFrameInfo is an implementation of StackFrame that contains the class and method information.

public class
StackOverflowError

Thrown when a stack overflow occurs because an application recurses too deeply.

pack-priv class
StackStreamFactory

StackStreamFactory class provides static factory methods to get different kinds of stack walker/traverser.

public class
StackTraceElement

An element in a stack trace, as returned by Throwable#getStackTrace().

public class
StackWalker

A stack walker.

public class
StrictMath

The class StrictMath contains methods for performing basic numeric operations such as the elementary exponential, logarithm, square root, and trigonometric functions.

public class
String

The String class represents character strings.

public class
StringBuffer

A thread-safe, mutable sequence of characters.

public class
StringBuilder

A mutable sequence of characters.

pack-priv class
StringCoding

Utility class for string encoding and decoding.

pack-priv class
StringConcatHelper

Helper for string concatenation.

public class
StringIndexOutOfBoundsException

Thrown by String methods to indicate that an index is either negative or greater than the size of the string.

pack-priv class
pack-priv class
public class
System

The System class contains several useful class fields and methods.

pack-priv class
Terminator

Package-private utility class for setting up and tearing down platform-specific support for termination-triggered shutdowns.

public class
Thread

A thread is a thread of execution in a program.

pack-priv class
ThreadBuilders

Defines static methods to create platform and virtual thread builders.

public class
ThreadDeath

Deprecated for removal since 20. Thread#stop() was originally specified to "stop" a victim thread by causing the victim thread to throw a ThreadDeath.
An instance of ThreadDeath was originally specified to be thrown by a victim thread when "stopped" with Thread#stop().
public class
ThreadGroup

A thread group represents a set of threads.

public class
ThreadLocal<
the type of the thread local's value
T
>

This class provides thread-local variables.

public class
Throwable

The Throwable class is the superclass of all errors and exceptions in the Java language.

public class
TypeNotPresentException

Thrown when an application tries to access a type using a string representing the type's name, but no definition for the type with the specified name can be found.

public class
UnknownError

Thrown when an unknown but serious exception has occurred in the Java Virtual Machine.

public class
UnsatisfiedLinkError

Thrown if the Java Virtual Machine cannot find an appropriate native-language definition of a method declared native.

public class
UnsupportedClassVersionError

Thrown when the Java Virtual Machine attempts to read a class file and determines that the major and minor version numbers in the file are not supported.

public class
UnsupportedOperationException

Thrown to indicate that the requested operation is not supported.

public class
VerifyError

Thrown when the "verifier" detects that a class file, though well formed, contains some sort of internal inconsistency or security problem.

pack-priv class
public abstract class
VirtualMachineError

Thrown to indicate that the Java Virtual Machine is broken or has run out of resources necessary for it to continue operating.

pack-priv class
VirtualThread

A thread that is scheduled by the Java virtual machine rather than the operating system.

public class
Void

The Void class is an uninstantiable placeholder class to hold a reference to the Class object representing the Java keyword void.

pack-priv class
WeakPairMap<
the type of 1st key in key pair
K1
,
the type of 2nd key in key pair
K2
,
the type of value
V
>

A WeakHashMap-like data structure that uses a pair of weakly-referenced keys with identity equality semantics to associate a strongly-referenced value.

public class
WrongThreadException

Thrown to indicate that a method has been called on the wrong thread.