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.
  
    
Annotations
    
  
  
    
      
        | Deprecated | A program element annotated @Deprecatedis one that programmers
 are discouraged from using. | 
      
    
      
        | 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. | 
      
    
      
        | Override | Indicates that a method declaration is intended to override a
 method declaration in a supertype. | 
      
    
      
        | SafeVarargs | A programmer assertion that the body of the annotated method or
 constructor does not perform potentially unsafe operations on its
 varargs parameter. | 
      
    
      
        | SuppressWarnings | Indicates that the named compiler warnings should be suppressed in the
 annotated element (and in all program elements contained in the annotated
 element). | 
      
    
  
  
  
    Interfaces
    
  
  
    
      
        | Appendable | An object to which charsequences and values can be appended. | 
      
    
      
        | AutoCloseable | An object that may hold resources (such as file or socket handles)
 until it is closed. | 
      
    
      
        | CharSequence | A CharSequenceis a readable sequence ofcharvalues. | 
      
    
      
        | Cloneable | A class implements the Cloneableinterface to
 indicate to theObject.clone()method that it
 is legal for that method to make a
 field-for-field copy of instances of that class. | 
      
    
      
        | Comparable<T> | This interface imposes a total ordering on the objects of each class that
 implements it. | 
      
    
      
        | Iterable<T> | Implementing this interface allows an object to be the target of the enhanced forstatement (sometimes called the "for-each loop" statement). | 
      
    
      
        | Readable | A Readableis a source of characters. | 
      
    
      
        | Runnable | The Runnableinterface should be implemented by any
 class whose instances are intended to be executed by a thread. | 
      
    
      
        | StackWalker.StackFrame | A StackFrameobject represents a method invocation returned byStackWalker. | 
      
    
      
        | Thread.UncaughtExceptionHandler | Interface for handlers invoked when a Threadabruptly
 terminates due to an uncaught exception. | 
      
    
  
  
  
    Classes
    
  
  
    
      
        | Boolean | The Boolean class wraps a value of the primitive type booleanin an object. | 
      
    
      
        | Byte | The Byteclass wraps a value of primitive typebytein an object. | 
      
    
      
        | Character | The Characterclass wraps a value of the primitive
 typecharin an object. | 
      
    
      
        | Character.Subset | Instances of this class represent particular subsets of the Unicode
 character set. | 
      
    
      
        | Character.UnicodeBlock | A family of character subsets representing the character blocks in the
 Unicode specification. | 
      
    
      
        | Class<T> | Instances of the class Classrepresent classes and
 interfaces in a running Java application. | 
      
    
      
        | ClassLoader | A class loader is an object that is responsible for loading classes. | 
      
    
      
        | ClassValue<T> | Lazily associate a computed value with (potentially) every type. | 
      
    
      
        | Compiler | Does nothing on Android. | 
      
    
      
        | Double | The Doubleclass wraps a value of the primitive typedoublein an object. | 
      
    
      
        | Enum<E extends Enum<E>> | This is the common base class of all Java language enumeration classes. | 
      
    
      
        | Float | The Floatclass wraps a value of primitive typefloatin an object. | 
      
    
      
        | InheritableThreadLocal<T> | This class extends ThreadLocalto 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. | 
      
    
      
        | Integer | The Integerclass wraps a value of the primitive typeintin an object. | 
      
    
      
        | Long | The Longclass wraps a value of the primitive typelongin an object. | 
      
    
      
        | Math | The class Mathcontains methods for performing basic
 numeric operations such as the elementary exponential, logarithm,
 square root, and trigonometric functions. | 
      
    
      
        | Number | The abstract class Numberis the superclass of platform
 classes representing numeric values that are convertible to the
 primitive typesbyte,double,float,int,long, andshort. | 
      
    
      
        | Object | Class Objectis the root of the class hierarchy. | 
      
    
      
        | Package | Packageobjects contain version information
 about the implementation and specification of a Java package. | 
      
    
      
        | Process | The ProcessBuilder.start()andRuntime.execmethods create a native process and return an instance of a
 subclass ofProcessthat can be used to control the process
 and obtain information about it. | 
      
    
      
        | ProcessBuilder | This class is used to create operating system processes. | 
      
    
      
        | ProcessBuilder.Redirect | Represents a source of subprocess input or a destination of
 subprocess output. | 
      
    
      
        | Record | This is the common base class of all Java language record classes. | 
      
    
      
        | Runtime | Every Java application has a single instance of class Runtimethat allows the application to interface with
 the environment in which the application is running. | 
      
    
      
        | RuntimePermission | Legacy security code; do not use. | 
      
    
      
        | SecurityManager | Legacy security code; do not use. | 
      
    
      
        | Short | The Shortclass wraps a value of primitive typeshortin an object. | 
      
    
      
        | StackTraceElement | An element in a stack trace, as returned by Throwable.getStackTrace(). | 
      
    
      
        | StackWalker | A stack walker. | 
      
    
      
        | StrictMath | The class StrictMathcontains methods for performing basic
 numeric operations such as the elementary exponential, logarithm,
 square root, and trigonometric functions. | 
      
    
      
        | String | The Stringclass represents character strings. | 
      
    
      
        | StringBuffer | A thread-safe, mutable sequence of characters. | 
      
    
      
        | StringBuilder | A mutable sequence of characters. | 
      
    
      
        | System | The Systemclass contains several useful class fields
 and methods. | 
      
    
      
        | Thread | A thread is a thread of execution in a program. | 
      
    
      
        | ThreadGroup | A thread group represents a set of threads. | 
      
    
      
        | ThreadLocal<T> | This class provides thread-local variables. | 
      
    
      
        | Throwable | The Throwableclass is the superclass of all errors and
 exceptions in the Java language. | 
      
    
      
        | Void | The Voidclass is an uninstantiable placeholder class to hold a
 reference to theClassobject representing the Java keyword
 void. | 
      
    
  
  
  
    Enums
    
  
  
  
  
    Exceptions
    
  
  
    
      
        | ArithmeticException | Thrown when an exceptional arithmetic condition has occurred. | 
      
    
      
        | ArrayIndexOutOfBoundsException | Thrown to indicate that an array has been accessed with an illegal index. | 
      
    
      
        | ArrayStoreException | Thrown to indicate that an attempt has been made to store the
 wrong type of object into an array of objects. | 
      
    
      
        | ClassCastException | Thrown to indicate that the code has attempted to cast an object
 to a subclass of which it is not an instance. | 
      
    
      
        | ClassNotFoundException | Thrown when an application tries to load in a class through its
 string name using: 
 The forNamemethod in classClass. | 
      
    
      
        | CloneNotSupportedException | Thrown to indicate that the clonemethod in classObjecthas been called to clone an object, but that
 the object's class does not implement theCloneableinterface. | 
      
    
      
        | EnumConstantNotPresentException | Thrown when an application tries to access an enum constant by name
 and the enum type contains no constant with the specified name. | 
      
    
      
        | Exception | The class Exceptionand its subclasses are a form ofThrowablethat indicates conditions that a reasonable
 application might want to catch. | 
      
    
      
        | 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. | 
      
    
      
        | IllegalArgumentException | Thrown to indicate that a method has been passed an illegal or
 inappropriate argument. | 
      
    
      
        | 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. | 
      
    
      
        | IllegalStateException | Signals that a method has been invoked at an illegal or
 inappropriate time. | 
      
    
      
        | IllegalThreadStateException | Thrown to indicate that a thread is not in an appropriate state
 for the requested operation. | 
      
    
      
        | 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. | 
      
    
      
        | InstantiationException | Thrown when an application tries to create an instance of a class
 using the newInstancemethod in classClass, but the specified class object cannot be
 instantiated. | 
      
    
      
        | InterruptedException | Thrown when a thread is waiting, sleeping, or otherwise occupied,
 and the thread is interrupted, either before or during the activity. | 
      
    
      
        | MatchException | Thrown to indicate an unexpected failure in pattern matching. | 
      
    
      
        | NegativeArraySizeException | Thrown if an application tries to create an array with negative size. | 
      
    
      
        | NoSuchFieldException | Signals that the class doesn't have a field of a specified name. | 
      
    
      
        | NoSuchMethodException | Thrown when a particular method cannot be found. | 
      
    
      
        | NullPointerException | Thrown when an application attempts to use nullin a
 case where an object is required. | 
      
    
      
        | 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. | 
      
    
      
        | ReflectiveOperationException | Common superclass of exceptions thrown by reflective operations in
 core reflection. | 
      
    
      
        | RuntimeException | RuntimeExceptionis the superclass of those
 exceptions that can be thrown during the normal operation of the
 Java Virtual Machine. | 
      
    
      
        | SecurityException | Thrown by the security manager to indicate a security violation. | 
      
    
      
        | StringIndexOutOfBoundsException | Thrown by Stringmethods to indicate that an index is either negative
 or greater than the size of the string. | 
      
    
      
        | 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. | 
      
    
      
        | UnsupportedOperationException | Thrown to indicate that the requested operation is not supported. | 
      
    
  
  
  
    Errors
    
  
  
    
      
        | AbstractMethodError | Thrown when an application tries to call an abstract method. | 
      
    
      
        | AssertionError | Thrown to indicate that an assertion has failed. | 
      
    
      
        | BootstrapMethodError | Thrown to indicate that an invokedynamicinstruction or a dynamic
 constant failed to resolve its bootstrap method and arguments,
 or forinvokedynamicinstruction 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. | 
      
    
      
        | ClassCircularityError | Thrown when the Java Virtual Machine detects a circularity in the
 superclass hierarchy of a class being loaded. | 
      
    
      
        | 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. | 
      
    
      
        | Error | An Erroris a subclass ofThrowablethat indicates serious problems that a reasonable application
 should not try to catch. | 
      
    
      
        | ExceptionInInitializerError | Signals that an unexpected exception has occurred in a static initializer. | 
      
    
      
        | IllegalAccessError | Thrown if an application attempts to access or modify a field, or
 to call a method that it does not have access to. | 
      
    
      
        | IncompatibleClassChangeError | Thrown when an incompatible class change has occurred to some class
 definition. | 
      
    
      
        | InstantiationError | Thrown when an application tries to use the Java newconstruct to instantiate an abstract class or an interface. | 
      
    
      
        | InternalError | Thrown to indicate some unexpected internal error has occurred in
 the Java Virtual Machine. | 
      
    
      
        | LinkageError | Subclasses of LinkageErrorindicate that a class has
 some dependency on another class; however, the latter class has
 incompatibly changed after the compilation of the former class. | 
      
    
      
        | NoClassDefFoundError | Thrown if the Java Virtual Machine or a ClassLoaderinstance
 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 thenewexpression)
 and no definition of the class could be found. | 
      
    
      
        | NoSuchFieldError | Thrown if an application tries to access or modify a specified
 field of an object, and that object no longer has that field. | 
      
    
      
        | 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. | 
      
    
      
        | 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. | 
      
    
      
        | StackOverflowError | Thrown when a stack overflow occurs because an application
 recurses too deeply. | 
      
    
      
        | ThreadDeath | An instance of ThreadDeathis thrown in the victim thread
 when the (deprecated)Thread.stop()method is invoked. | 
      
    
      
        | UnknownError | Thrown when an unknown but serious exception has occurred in the
 Java Virtual Machine. | 
      
    
      
        | UnsatisfiedLinkError | Thrown if the Java Virtual Machine cannot find an appropriate
 native-language definition of a method declared native. | 
      
    
      
        | 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. | 
      
    
      
        | VerifyError | Thrown when the "verifier" detects that a class file,
 though well formed, contains some sort of internal inconsistency
 or security problem. | 
      
    
      
        | VirtualMachineError | Thrown to indicate that the Java Virtual Machine is broken or has
 run out of resources necessary for it to continue operating. |