Basically SERIALIZABLE uses default implementation
for reading and writing the object you want to persist.
You just have to implement SERIALIZABLE interface
for your class and rest will be taken care.
For EXTERNALIZABLE you will have to implement
the readExternal() and writeExternal() methods.
As in you can specify your own way of storing
the information and retrieving the information of the object.
Unless you have very specific requirements one
wouldn't use EXTERNALIZABLE.
SERIALIZABLE is the most common form of using.
All you would specify is to implement the SERIALIZABLE
interface in the class declaration and nothing more.
The Externalizable defines two methods: writeExternal (ObjectOutput)
and readExternal (ObjectInput). The mechanisms for using this interface
are very simple. Externalizable extends Serializable