可序列化对象为什么要定义serialversionUID值?
Posted constxiong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可序列化对象为什么要定义serialversionUID值?相关的知识,希望对你有一定的参考价值。
- SerialVersionUid 是为了序列化对象版本控制,告诉 JVM 各版本反序列化时是否兼容
- 如果在新版本中这个值修改了,新版本就不兼容旧版本,反序列化时会抛出InvalidClassException异常
- 仅增加了一个属性,希望向下兼容,老版本的数据都保留,就不用修改
- 删除了一个属性,或更改了类的继承关系,就不能不兼容旧数据,这时应该手动更新 SerialVersionUid
- Java 自学指南
- Java 面试题汇总PC端浏览【点这里】
- Java知识图谱
- Java 面试题汇总小程序浏览,扫二维码
所有资源资源汇总于公众号
以上是关于可序列化对象为什么要定义serialversionUID值?的主要内容,如果未能解决你的问题,请参考以下文章
Sonarqube 错误:类定义了一个计算的 serialVersionUID,它不等于计算的值