## Uses of Interface
java.io.Serializable

- Packages that use Serializable
  Package | Description
  --- | ---
  java.io |
  java.lang |
  java.lang.annotation |
  java.lang.invoke |
  java.lang.reflect | Provides classes and interfaces for obtaining reflective information about classes and objects.
  java.net |
  java.util |

- - ### Uses of Serializable in java.io

    Classes in java.io that implement Serializable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `EOFException` Signals that an end of file or end of stream has been reached unexpectedly during input.
    `class` | `IOException` Signals that an I/O exception of some sort has occurred.
    `class` | `UnsupportedEncodingException` The Character Encoding is not supported.
    `class` | `UTFDataFormatException` Signals that a malformed string in modified UTF-8 format has been read in a data input stream or by any class that implements the data input interface.

  - ### Uses of Serializable in java.lang

    Classes in java.lang that implement Serializable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ArithmeticException` Thrown when an exceptional arithmetic condition has occurred.
    `class` | `ArrayIndexOutOfBoundsException` Thrown to indicate that an array has been accessed with an illegal index.
    `class` | `ArrayStoreException` Thrown to indicate that an attempt has been made to store the wrong type of object into an array of objects.
    `class` | `AssertionError` Thrown to indicate that an assertion has failed.
    `class` | `Boolean` The Boolean class wraps a value of the primitive type `boolean` in an object.
    `class` | `Byte` The `Byte` class wraps a value of primitive type `byte` in an object.
    `class` | `Character` The `Character` class wraps a value of the primitive type `char` in an object.
    `class` | `Class<T>` Instances of the class `Class` represent classes and interfaces in a running Java application.
    `class` | `ClassCastException` Thrown to indicate that the code has attempted to cast an object to a subclass of which it is not an instance.
    `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.
    `class` | `ClassNotFoundException` Thrown when an application tries to load in a class through its string name using: The `forName` method in class `Class`.
    `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.
    `class` | `Double` The `Double` class wraps a value of the primitive type `double` in an object.
    `class` | `Enum<E extends Enum<E>>` This is the common base class of all Java language enumeration types.
    `class` | `Error` An `Error` is a subclass of `Throwable` that indicates serious problems that a reasonable application should not try to catch.
    `class` | `Exception` The class `Exception` and its subclasses are a form of `Throwable` that indicates conditions that a reasonable application might want to catch.
    `class` | `Float` The `Float` class wraps a value of primitive type `float` in an object.
    `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.
    `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.
    `class` | `IllegalArgumentException` Thrown to indicate that a method has been passed an illegal or inappropriate argument.
    `class` | `IllegalStateException` Signals that a method has been invoked at an illegal or inappropriate time.
    `class` | `IncompatibleClassChangeError` Thrown when an incompatible class change has occurred to some class definition.
    `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.
    `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.
    `class` | `Integer` The `Integer` class wraps a value of the primitive type `int` in an object.
    `class` | `InterruptedException` Thrown when a thread is waiting, sleeping, or otherwise occupied, and the thread is interrupted, either before or during the activity.
    `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.
    `class` | `Long` The `Long` class wraps a value of the primitive type `long` in an object.
    `class` | `NegativeArraySizeException` Thrown if an application tries to create an array with negative size.
    `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.
    `class` | `NoSuchMethodException` Thrown when a particular method cannot be found.
    `class` | `NullPointerException` Thrown when an application attempts to use `null` in a case where an object is required.
    `class` | `Number` The abstract class `Number` is the superclass of classes `BigDecimal`, `BigInteger`, `Byte`, `Double`, `Float`, `Integer`, `Long`, and `Short`.
    `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.
    `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.
    `class` | `ReflectiveOperationException` Common superclass of exceptions thrown by reflective operations in core reflection.
    `class` | `RuntimeException` `RuntimeException` is the superclass of those exceptions that can be thrown during the normal operation of the Java Virtual Machine.
    `class` | `SecurityException` Thrown by the security manager to indicate a security violation.
    `class` | `Short` The `Short` class wraps a value of primitive type `short` in an object.
    `class` | `StackTraceElement` An element in a stack trace, as returned by `Throwable.getStackTrace()`.
    `class` | `String` The `String` class represents character strings.
    `class` | `StringBuffer` A thread-safe, mutable sequence of characters.
    `class` | `StringBuilder` A mutable sequence of characters.
    `class` | `StringIndexOutOfBoundsException` Thrown by `String` methods to indicate that an index is either negative or greater than the size of the string.
    `static class` | `Thread.State` A thread state.
    `class` | `Throwable` The `Throwable` class is the superclass of all errors and exceptions in the Java language.
    `class` | `UnsupportedOperationException` Thrown to indicate that the requested operation is not supported.
    `class` | `VirtualMachineError` Thrown to indicate that the Java Virtual Machine is broken or has run out of resources necessary for it to continue operating.

  - ### Uses of Serializable in java.lang.annotation

    Classes in java.lang.annotation that implement Serializable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ElementType` A program element type.
    `class` | `RetentionPolicy` Annotation retention policy.

  - ### Uses of Serializable in java.lang.invoke

    Classes in java.lang.invoke that implement Serializable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MethodType` A method type represents the arguments and return type accepted and returned by a method handle, or the arguments and return type passed and expected by a method handle caller.
    `class` | `SerializedLambda` Serialized form of a lambda expression.

  - ### Uses of Serializable in java.lang.reflect

    Classes in java.lang.reflect that implement Serializable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `InvocationTargetException` InvocationTargetException is a checked exception that wraps an exception thrown by an invoked method or constructor.
    `class` | `Proxy` `Proxy` provides static methods for creating dynamic proxy classes and instances, and it is also the superclass of all dynamic proxy classes created by those methods.
    `class` | `UndeclaredThrowableException` Thrown by a method invocation on a proxy instance if its invocation handler's `invoke` method throws a checked exception (a `Throwable` that is not assignable to `RuntimeException` or `Error`) that is not assignable to any of the exception types declared in the `throws` clause of the method that was invoked on the proxy instance and dispatched to the invocation handler.

  - ### Uses of Serializable in java.net

    Classes in java.net that implement Serializable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MalformedURLException` Thrown to indicate that a malformed URL has occurred.
    `class` | `URL` Class `URL` represents a Uniform Resource Locator, a pointer to a "resource" on the World Wide Web.

  - ### Uses of Serializable in java.util

    Classes in java.util that implement Serializable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `NoSuchElementException` Thrown by the `nextElement` method of an `Enumeration` to indicate that there are no more elements in the enumeration.
    `class` | `ServiceConfigurationError` Error thrown when something goes wrong while loading a service provider.

Copyright © 2025 API Design. All Rights Reserved.