假设我有 A、B 和 C 类型的对象。我有 3 个 Map,分别包含 A、B 和 C 的所有实例。在内部,A和B都有C的Map。我希望能够随时存储和恢复应用程序的状态。
因此,直到今天我总是序列化类似金字塔的应用程序,我会在顶部对象上调用序列化,并且该调用将传播到其他所有对象。我该如何处理这种情况?如果我在A映射上调用serialize,然后在B映射上调用serialize,那么C实例不是会被保存两次吗?即使它们这样做,当我在反序列化 A 映射后反序列化 B 映射时,反序列化是否会保留应用程序状态,因为它只是覆盖 C 实例?
提前致谢。
Java 序列化机制知道对同一对象的多个引用,并且不会重复它们。该对象将被存储一次,并且所有内部引用将被保留。
反序列化后,您的对象将处于相同的状态:只有一个实例和对该对象的多个引用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)