java 序列化时对象之间的循环依赖

Cyclic dependency amongst objects while serialization in java

在Java研究序列化时,我遇到了这个语句"while serialization the whole object graph of object is written to the stream"。那么如果对象图中有循环怎么办?在这种情况下反序列化时会发生什么?为什么?

Java 序列化通过 'handle' 系统处理循环对象图。先前序列化的对象不会被重新序列化:相反,该对象的 'handle ' 被序列化,它在反序列化时被重建以引用同一个对象。见 Object Serialization Specification #1.2.