序列化java标准对象的SerialVersionId会改变吗?
在一个项目中,我们序列化了几个对象。有必要在具有不同JVM(可能是不同版本)的机器上使用这些对象
我们的对象SerialVersionId是固定的,不会改变,但我们关心的是JVM标准对象的SerialVersionId,例如序列化对象中使用的ArrayList/HashSet
所以问题是,这些serialVersionUID可以在不同版本的JVM之间更改,还是在不同的JVM之间更改
还是我们必须使用另一种序列化机制来支持不同的JVM
# 1 楼答案
serialVersionUID只有在类的更改与以前的序列化版本不兼容时才应该更改
要查看哪些更改可能会破坏兼容性,请检查Specification
我非常怀疑Java的新版本是否会对核心类进行任何会破坏兼容性的更改