Roa*_*oam 4 java serialization hashcode
在一次执行应用程序时,对象的hashCode必须与该对象保持一致 - 对于任何对象o,o.hashCode()应该返回相同的int值.
但是,这不一定是从一个运行时到另一个运行时:o.hashCode() 可以返回一些其他值,这完全没有规范.
HashMap根据hashCode值计算正确的bucked .
我的问题是:这个值在一个会话到另一个会话之间如何处理?序列化是否具有处理此功能的功能?
所以,假设我构建了一个哈希并将其存储在磁盘上.2周后,我调用了应用程序并运行它.我在哈希中查找一个对象.通过这些,这个对象的hashCode现在可以和以前不同,虽然它在哈希中,但我无法找到它.
对序列化不太了解 - 但是.对不起,如果太天真.
这是有效的,因为哈希表没有被序列化为哈希表.它们以自定义方式序列化.因此,在反序列化时,将使用新的哈希码重建哈希表.