何时使用Externalizable而不是writeReplace + readResolve?

时间:2011-08-19 13:50:22

标签: java serialization

在我使用writeReplacereadResolve的几个地方,有时会变得非常冗长。我想知道使用Externalizable是否会更好(实际上,我不这么认为,因为我的对象大多是不可变的,但我可能是错的)。你能给我一些使用Externalizable的好例子吗?

2 个答案:

答案 0 :(得分:1)

我看不出它们是如何可比的。 writeReplace()等为你想要的情况写一个代理对象; Externalizable接管当前对象及其基础对象的整个序列化。

您使用writeReplace()的动机是什么?

答案 1 :(得分:-2)

我被告知Externalizable比默认序列化快得多,因为它消除了反射开销。使用writeReplacereadResolve也可以使用I recently realized来解决使用最终字段的问题。