Exceptions Classes or any classes which implements Serializable
would need to have SerialUID
, so that class that has do be serialized at the time of compiling, and de-serialized
at the time of recompiling, JVM
will do version matching which version of serialized class is being de-serialized
.
Serialisation
is implemented for following reasons.
- Support bidirectional communication between different versions of a class operating in different virtual machines by:
- Defining a mechanism that allows
JavaTM
classes to read streams written by older versions of the same class.
- Defining a mechanism that allows
JavaTM
classes to write streams intended to be read by older versions of the same class.
- Provide default serialization for persistence and for
RMI
.
- Perform well and produce compact streams in simple cases, so that
RMI
can use serialization.
- Be able to identify and load classes that match the exact class used to write the stream.
- Keep the overhead low for non-versioned classes.
Use a stream format that allows the traversal of the stream without having to invoke methods specific to the objects saved in the stream.