我正在阅读有关 Singleton 设计模式的一些内容,结果发现实现可序列化 Singleton 的一种好方法是拥有一个readResolve
返回真实实例和声明的所有成员的方法transient
。我有一些问题:
- 如果在反序列化时你仍然得到真正的实例而不是序列化的实例,那么序列化不是没用吗?反正你会失去一切。
- 如果我对上面的 1. 有误,那么声明所有成员为瞬态是否仍会丢失所有成员的值?再说一遍,序列化不是没用吗?
- 如果所有成员数据丢失,是否有需要序列化 Singleton 的情况?
谢谢。