SerialVersionUID Java - SerialVersionUID 是如何工作的?
SerialVersion UID Java - How SerialVersionUID work?
您好,我有一个关于 Java 中 SerialVersionUID
的问题。
如果我为 class A
生成 SerialVersionUID
,
A
的 2 个实例具有相同的 SerialVersion
关于 class 和另一个对象的唯一序列号,关于 object1
和 object2
不同?或者如何?
我不明白,请回复我。谢谢。
SerialVersionUID 是识别 class 版本的方法。所以相同 class 的所有对象将具有相同的 SerialVersionUID。
但是,如果您更改 class,建议更改 SerialVersionUID。然后在不兼容的情况下,对象的序列化就会失败。
参见:What is a serialVersionUID and why should I use it?
serialVersionUID is used for version control of object.
如果我们不在class中定义serialVersionUID,任何
在class中进行了修改,那么我们将无法反序列化
我们的 class 因为 serialVersionUID 由 java 编译器生成
修改后的 class 将不同于旧的序列化对象并且
反序列化过程最终会抛出
java.io.InvalidClassException
- 运行时的序列化与每个可序列化关联class
一个版本号,称为 serialVersionUID,在期间使用
反序列化到 验证一个
序列化对象已为该对象加载 classes
与序列化兼容.
serialVersionUID object1 and object2?
一样,因为串行版本uid是静态的(即class级)
您好,我有一个关于 Java 中 SerialVersionUID
的问题。
如果我为 class A
生成 SerialVersionUID
,
A
的 2 个实例具有相同的 SerialVersion
关于 class 和另一个对象的唯一序列号,关于 object1
和 object2
不同?或者如何?
我不明白,请回复我。谢谢。
SerialVersionUID 是识别 class 版本的方法。所以相同 class 的所有对象将具有相同的 SerialVersionUID。 但是,如果您更改 class,建议更改 SerialVersionUID。然后在不兼容的情况下,对象的序列化就会失败。
参见:What is a serialVersionUID and why should I use it?
serialVersionUID is used for version control of object.
如果我们不在class中定义serialVersionUID,任何 在class中进行了修改,那么我们将无法反序列化 我们的 class 因为 serialVersionUID 由 java 编译器生成 修改后的 class 将不同于旧的序列化对象并且 反序列化过程最终会抛出 java.io.InvalidClassException
- 运行时的序列化与每个可序列化关联class 一个版本号,称为 serialVersionUID,在期间使用 反序列化到 验证一个 序列化对象已为该对象加载 classes 与序列化兼容.
serialVersionUID object1 and object2?
一样,因为串行版本uid是静态的(即class级)