有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

序列化java标准对象的SerialVersionId会改变吗?

在一个项目中,我们序列化了几个对象。有必要在具有不同JVM(可能是不同版本)的机器上使用这些对象

我们的对象SerialVersionId是固定的,不会改变,但我们关心的是JVM标准对象的SerialVersionId,例如序列化对象中使用的ArrayList/HashSet

所以问题是,这些serialVersionUID可以在不同版本的JVM之间更改,还是在不同的JVM之间更改

还是我们必须使用另一种序列化机制来支持不同的JVM


共 (1) 个答案

  1. # 1 楼答案

    serialVersionUID只有在类的更改与以前的序列化版本不兼容时才应该更改

    要查看哪些更改可能会破坏兼容性,请检查Specification

    我非常怀疑Java的新版本是否会对核心类进行任何会破坏兼容性的更改