美文网首页
为什么反序列化版本号需要与序列化版本号一致?

为什么反序列化版本号需要与序列化版本号一致?

作者: Jycoding | 来源:发表于2022-07-22 13:39 被阅读0次

我们在反序列化时,JVM会拿着反序列化流中的serialVersionUID与序列化时相应的实体类中的serialVersionUID来比较,如果不一致,就无法正常反序列化,出现序列化版本不一致的异常InvalidClassException。

而且我们在定义需要序列化的实体类时,如果没有手动添加UID,

Java序列化机制会根据编译的class自动生成一个,那么只有同一次编译生成的class才是一样的UID。

如果我们手动添加了UID,只要这个值不修改,就可以不论编译次数,进行序列化和反序列化操作。

————————————————

版权声明:本文为CSDN博主「程序媛 泡泡」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_43884234/article/details/114926995

相关文章

  • 为什么反序列化版本号需要与序列化版本号一致?

    我们在反序列化时,JVM会拿着反序列化流中的serialVersionUID与序列化时相应的实体类中的serial...

  • JDK源码-ObjectStreamClass

    ObjectStreamClass 类的序列化描述符,它存储了类的序列化版本号和类名.可以通过lookup()方法...

  • HashMap

    成员变量: 1、序列化版本号: 2、集合的初始化容量:(默认为16) 问题1:初始化容量为什么是2的n次幂?如果不...

  • MapReduce(二):MapReduce序列化

    序列化概述 什么是序列化 为什么要序列化 为什么不用Java序列化 hadoop序列化优势 结构紧凑,存储空间少 ...

  • swift4.0 版本号判断

    取当前版本号 取之前的版本号 将当前版本号保存在沙盒中 返回两个版本号,是否一致

  • 序列化和反序列化的概念

    1序列化:把对象转为字节序列的过程 为序列化; 2相反:字节---------->对象 为反序列化 3 序列化的场...

  • urldns利用链分析

    java序列化与反序列化 java 序列化与反序列化 为了更好的存放传输一些数据,往往会将一些数据进行序列化,需 ...

  • 序列化Serializable和Parcelable的理解和区别

    一、android为什么要序列化?什么是序列化,怎么进行序列化 1.为什么要了解序列化?—— 进行Android开...

  • Java序列化与反序列化

    问题 Java序列化与反序列化是什么?为什么需要序列化与反序列化?有什么好处?如何实现Java序列化与反序列化? ...

  • [hybrid]cordovaProject.projectCo

    出现此类问题,需指定版本号打包 先删除原来平台,再指定版本号打包

网友评论

      本文标题:为什么反序列化版本号需要与序列化版本号一致?

      本文链接:https://www.haomeiwen.com/subject/obpmirtx.html