【发布时间】:2012-09-16 12:26:27
【问题描述】:
假设我在内存中有一个 A 类型的对象数组 arr,每个对象都有一个指向同一对象 B 的引用字段。
插图:
A_1 A_2 A_3 ... A_N
| | | |
| | V |
\--->\--> B <-----/
请注意,A 类型的每个对象中的引用字段都指向B 类型的相同 对象。
现在,我将包含A 类型对象的数组arr 序列化为ObjectOutputStream。然后我反序列化通过这种方式获得的字节。
我得到一个新数组arr1。
1) 数组arr1 是否具有A 类型的对象,使得它们都指向B 类型的相同 对象? (我指的不是序列化前的同一个对象,而是一个新创建的独特的B类型的对象)
2) 换句话说,在 Java 中调用 serialize/deserialize 是否保留与序列化之前相同的对象图? (即新反序列化的对象图是否与旧对象图同构)
3) 这在哪里记录? (即请提供引用)
4) 相同的问题 1-3,但适用于 Java 的 Kryo 序列化框架。
谢谢。
【问题讨论】:
标签: java serialization kryo