1

我正在学习 java 序列化,我有一个疑问,如果可以通过覆盖类中的 writeObject() 和 readObject() 方法来自定义默认序列化过程,那么 Externalizable 接口有什么用?在哪种情况下需要它?

4

1 回答 1

0

它用于自定义序列化,请参阅Externalizable 指南

主要用途:

更改 JVM 的默认序列化行为。

用例:

如果我们需要序列化整个对象,Serializable 接口更合适。另一方面,对于自定义序列化,我们可以使用 Externalizable 来控制流程。

可能的性能优势:

java.io.Serializable 接口使用反射和元数据,这会导致性能相对较慢。相比之下,Externalizable 接口让您可以完全控制序列化过程。

于 2019-07-10T07:20:38.473 回答