What is Externalizable?
Externalizable is an interface which allows you to serialize your object in your own way or according to the custom rule that you have defined. Externalizable interface extends the Serializable interface and adds writeExternal() and readExternal() methods that are automatically called on object's serialization and de-serialization for providing the control over process. When you are using Externalizable interface to externalize object you must be required a default (no-argument) public constructor of implementing class.
For reading Java Serializable interface please go through the following link