Java序列化:readObject()与readResolve()

有效的Java和其他来源提供了一个很好的解释如何和何时使用readObject()方法在使用可序列化的Java类时。另一方面,readResolve()方法仍然有点神秘。基本上所有的文件,我发现只提及其中一个或两个只提及单独。

尚未答复的问题有:

>两种方法有什么区别?
>什么时候应该实现什么方法?
>如何使用readResolve(),特别是在返回什么?

我希望你能谈谈这件事。

readResolve用于替换从流读取的对象。我所见过的唯一的用法是强制执行单例;当读取对象时,将其替换为单例实例。这确保没有人可以通过序列化和反序列化单例来创建另一个实例。
http://stackoverflow.com/questions/1168348/java-serialization-readobject-vs-readresolve

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Java序列化:readObject()与readResolve()