我们一直在阅读有关如何使用“readResolve()”来确保在序列化 Singleton 的情况下的单一性的信息。但是,首先想要序列化单例的实际用例是什么?
编辑:pl。注意:问题是关于为什么要序列化一个单例,不是这样做的安全方法是什么。
最佳答案
最常见的情况是您有一个表示大型数据结构的对象(例如,XML 样式文档中的节点树)。
此数据结构可以轻松包含单例值(例如,表示附加到树中节点的特定属性的数据类型的单例实例)。树中的许多不同节点可以指向相同的共享单例值。
在很多情况下,您可能想要序列化这样的数据结构,例如通过网络发送对象的副本。在这种情况下,您还需要序列化单例值。
但是当你读回数据结构时,你想使用单例的现有值,而不是新创建的实例。这就是为什么你需要 readResolve()
关于Java:序列化单例的实际用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9937877/