Serialization is the process of converting an object instance with it child objects into a linear stream of bytes. In this way, it stores the state of an object into a stream. This stream of bytes can be stored into a file, in a database as a blob, sent to a remote system via sockets etc. The reverse of this process is called Object De-Serialization, which is restoring the object to its state by reading the serialized stream of bytes. Java provides inbuilt implementation to serialize & de-serialize the object via ObjectOutputStream and ObjectInputStream classes.