SerialVersion UID Java - SerialVersionUID如何工作?

时间:2017-01-17 08:57:45

标签: java serializable serialversionuid

您好我在Java中有一个关于SerialVersionUID的问题。 如果我为SerialVersionUID生成class AA的2个实例具有相同的SerialVersion类和对象的另一个唯一序列,不同的是object1object2?或者怎么样? 我不明白,请回复我。感谢。

2 个答案:

答案 0 :(得分:1)

SerialVersionUID是识别类版本的方法。因此,同一类的所有对象都将具有相同的SerialVersionUID。 但是,如果对类进行更改,建议更改SerialVersionUID。然后在不兼容的情况下,对象的序列化将失败。

请参阅:What is a serialVersionUID and why should I use it?

答案 1 :(得分:0)

  1.   

    serialVersionUID用于对象的版本控制。

  2. 如果我们没有在类中定义serialVersionUID,那么任何 修改是在课堂上进行的,那么我们将无法进行deSerialize 我们的类是因为java编译器生成的serialVersionUID 修改后的类将与旧的序列化对象不同 反序列化过程最终会抛出 java.io.InvalidClassException

  3. 运行时的序列化与每个可序列化的类相关联 版本号,称为serialVersionUID,在期间使用 反序列化为 验证发送者和接收者 序列化对象已加载该对象的类 兼容序列化
  4.   

    serialVersionUID object1和object2?

    它将是相同的,因为串行版本uid是静态的(即类级别)