java面试题网

普通会员

217

帖子

75

回复

160

积分

楼主
发表于 2019-04-30 16:10:40 | 查看: 5660| 回复: 0

java序列化对象为什么要定义serialversionUID值?

SerialVersionUid,简言之,其目的是序列化对象版本控制,有关各版本反序列化时是否兼容。如果在新版本中这个值修改了,新版本就不兼容旧版本,反序列化时会抛出InvalidClassException异常。如果修改较小,比如仅仅是增加了一个属性,我们希望向下兼容,老版本的数据都能保留,那就不用修改;如果我们删除了一个属性,或者更改了类的继承关系,必然不兼容旧数据,这时就应该手动更新版本号,即SerialVersionUid。


文章来自www.wityx.com,转载请注明出处!原文地址http://www.wityx.com/post/627_1_1.html


java面试题交流群:327440556      阿里云产品2000元通用优惠券限时领


您需要登录后才可以回帖 登录 | 立即注册

java面试题网www.wuliaokankan.cnjava建站系统提供技术支持V2.1 网站地图 © 2016-2018