Java的序列化对象表示

rep*_*mer 7 java serialization deterministic

我正在寻找Java用于序列化对象的格式.默认序列化以二进制格式序列化对象.特别是,我很想知道程序的两次运行是否可以不同地序列化同一个对象.

对象应该满足什么条件,以便对象在Java的默认序列化/反序列化往返中保持其行为?

rep*_*mer 1

我喜欢 @Stephen C 的 Object.hashCode() 示例。如果将这种不确定性哈希码序列化,那么当我们反序列化时,哈希码将没有用处。例如,如果我们序列化基于 Object.hashCode() 工作的 HashMap,其反序列化版本的行为将与原始映射不同。也就是说,查找相同的对象会在两个地图中给出不同的结果。