Java中的Externalizable和Serializable接口之间有什么区别?

每当我们需要自定义序列化机制时,都会使用外部化。如果类实现了Externalizable接口,则将使用writeExternal()方法完成对象序列化。

而在接收者端,当Externalizable对象是重构实例时,将不使用任何参数构造函数来创建该对象,然后调用readExternal()方法。

如果一个类仅实现Serializable接口对象,则将使用ObjectoutputStream进行序列化。在接收者的一端,使用ObjectInputStream重建可序列化的对象。