可序列化对象定义serialversionUID值的原因是什么

参考答案

可序列化对象定义serialversionUID值的原因

  • SerialVersionUid 是为了序列化对象版本控制,告诉 JVM 各版本反序列化时是否兼容;
  • 如果在新版本中这个值修改了,新版本就不兼容旧版本,反序列化时会抛出InvalidClassException异常;
  • 仅增加了一个属性,希望向下兼容,老版本的数据都保留,就不用修改;
  • 删除了一个属性,或更改了类的继承关系,就不能不兼容旧数据,这时应该手动更新 SerialVersionUid。

以上,是Java面试题【可序列化对象要定义serialversionUID值的原因是什么】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧