假设我在内存中有一个arr
类型的对象数组A
,每个对象都有一个指向同一个对象的引用字段B
。
插图:
A_1 A_2 A_3 ... A_N
| | | |
| | V |
\--->\--> B <-----/
请注意,每个 type 对象中的引用字段都A
指向同一个type 对象B
。
arr
现在,我将包含类型对象A
的数组序列化为ObjectOutputStream
. 然后我反序列化以这种方式获得的字节。
我得到一个新数组arr1
。
1)数组是否arr1
有类型的对象,A
使得它们都指向同一个类型的对象B
?(我不是指序列化之前的同一个对象,而是新创建的唯一类型的对象B
)
2) 换句话说,在 Java 中调用 serialize/deserialize 是否保留与序列化之前相同的对象图?(即新反序列化的对象图与旧对象图同构)
3)这在哪里记录?(即请提供引用)
4) 相同的问题 1-3,但适用于 Java 的Kryo序列化框架。
谢谢你。