我正在学习Java序列化,并且我怀疑,如果可以通过重写类中的writeObject()和readObject()方法来自定义默认序列化过程,那么Externalizable接口的用途是什么?在哪种情况下需要?
答案 0 :(得分:0)
它用于自定义序列化,请参见Guide to the Externalizable
主要用法:
更改JVM的默认序列化行为。
用例:
如果需要序列化整个对象,则Serializable接口更合适。另一方面,对于自定义序列化,我们可以使用Externalizable控制过程。
可能的性能优势:
java.io.Serializable接口使用反射和元数据,这会导致性能相对较慢。相比之下,Externalizable接口可让您完全控制序列化过程。