在我的许多数据库实体中,我存储了各种值的序列化 HashMap 。内置的 java hashmap 类更改 serialVersionUID 的可能性有多大,因此我无法再从数据库中反序列化 hashmap?
新的 Java 版本发布会发生这种情况吗?
最佳答案
Could this happen with a new java version release?
如果有什么可能发生,它就会发生 :),但严重的是,如果他们确实更改了 serialVersionUID,他们会将其设置为向后不兼容 - 这些年来可能没有发生过这种情况。
JDK 6 二进制不兼容: http://www.oracle.com/technetwork/java/javase/compatibility-137541.html#incompatibilities
JDK 5 二进制不兼容: http://java.sun.com/j2se/1.5.0/compatibility.html#incompatibilities
JDK 1.4 二进制不兼容: http://java.sun.com/javase/compatibility_j2se1.4.html#incompatibilities1.4
JDK 1.3 二进制不兼容: http://java.sun.com/j2se/1.3/compatibility.html#incompatibilities1.3
JDK 1.2 二进制不兼容:http://java.sun.com/products/archive/j2se/1.2.2_017/compatibility.html#incompatibilities1.2
上面列出的所有可序列化的不兼容性都是针对“默认”serialVersionUID
关于java - 像 hashmap 这样的内置 java 类是否会更改它们的 serialVersionUID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4342163/