serialVersionUID 序列化

Posted kakaisgood

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了serialVersionUID 序列化相关的知识,希望对你有一定的参考价值。

http://www.mkyong.com/java-best-practices/understand-the-serialversionuid/

简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。

 

3. What’s wrong with the default serialVersionUID?

If no serialVersionUID is declared, JVM will use its own algorithm to generate a default SerialVersionUID, you can check the algorithm here.

The default serialVersionUID computation is highly sensitive to class details and may vary from different JVM implementation, and result in an unexpected InvalidClassExceptions during the deserialization process.

 

不同的JVM,可以有不同的生成算法。导致SerialVersionUID不一致。

以上是关于serialVersionUID 序列化的主要内容,如果未能解决你的问题,请参考以下文章

serialVersionUID的简单理解

serialVersionUID作用

serialVersionUID的作用

java 序列化 serialVersionUID 的作用 和 两种添加方式

serialVersionUID的作用

为什么对象序列化要定义serialVersionUID