我正在学习 java 序列化,我有一个疑问,如果可以通过覆盖类中的 writeObject() 和 readObject() 方法来自定义默认序列化过程,那么 Externalizable 接口有什么用?在哪种情况下需要它?
问问题
239 次
1 回答
0
它用于自定义序列化,请参阅Externalizable 指南
主要用途:
更改 JVM 的默认序列化行为。
用例:
如果我们需要序列化整个对象,Serializable 接口更合适。另一方面,对于自定义序列化,我们可以使用 Externalizable 来控制流程。
可能的性能优势:
java.io.Serializable 接口使用反射和元数据,这会导致性能相对较慢。相比之下,Externalizable 接口让您可以完全控制序列化过程。
于 2019-07-10T07:20:38.473 回答