Yes, the serialization process can be customized. When an object is serialized,
objectOutputStream.writeObject (to save this object) is invoked and when an
object is read, ObjectInputStream.readObject () is invoked. What most people do
not know is that Java Virtual Machine provides you with an option to define
these methods as per your needs. Once this is done, these two methods will be
invoked by the JVM instead of the application of the default serialization
process. Classes that require special handling during the serialization and
deserialization process must implement special methods with these exact
signatures:
private
void
writeObject(java.io.ObjectOutputStream out)
throws IOException
private void readObject(java.io.ObjectInputStream in)
throws IOException, ClassNotFoundException;
private void readObjectNoData()
throws ObjectStreamException;
Read More →