| Interface | Description | 
|---|---|
| Appendable | An object to which char sequences and values can be appended. | 
| AutoCloseable | A resource that must be closed when it is no longer needed. | 
| CharSequence | A CharSequence is a readable sequence of  charvalues. | 
| 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 "foreach" statement. | 
| Readable | This interface is only defined for hierarchy compatibility. | 
| Runnable | The  Runnableinterface should be implemented by any class whose instances are
 intended to be executed by a thread. | 
| Thread.UncaughtExceptionHandler | Interface for handlers invoked when a Thread abruptly terminates due to an uncaught
 exception. | 
| Class | Description | 
|---|---|
| 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. | 
| Class<T> | Instances of the class  Classrepresent classes and interfaces in a running Java
 application. | 
| 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 types. | 
| Float | The  Floatclass wraps a value of primitive typefloatin an object. | 
| 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 classesBigDecimal,BigInteger,Byte,Double,Float,Integer,Long, andShort. | 
| Object | Class  Objectis the root of the class hierarchy. | 
| Package | Packagerepresent a Java package. | 
| 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 | This class is for runtime permissions. | 
| SecurityManager | The security manager is a class that allows applications to implement a security policy. | 
| Short | The  Shortclass wraps a value of primitive typeshortin an object. | 
| StackTraceElement | An element in a stack trace. | 
| 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. | 
| Throwable | The  Throwableclass is the superclass of all errors and exceptions in the Java language. | 
| Enum | Description | 
|---|---|
| Thread.State | A thread state. | 
| Exception | Description | 
|---|---|
| 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. | 
| 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. | 
| 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. | 
| UnsupportedOperationException | Thrown to indicate that the requested operation is not supported. | 
| Error | Description | 
|---|---|
| AbstractMethodError | Thrown when an application tries to call an abstract method. | 
| AssertionError | Thrown to indicate that an assertion has failed. | 
| 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. | 
| 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. | 
| Annotation Type | Description | 
|---|---|
| Deprecated | A program element annotated @Deprecated is one that programmers are discouraged from using,
 typically because it is dangerous, or because a better alternative exists. | 
| 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). |