java - 哪些更改会使序列化类版本不兼容?

标签 java serialization versioning

我正在尝试使用 Java 序列化 API 来创建小型持久对象。在我的研究中,我发现了很多版本控制的重要性,因此您可以检测和处理存储的对象模型与当前对象模型之间不兼容的更改。

我似乎无法找到对象模型的哪些更改实际上会破坏兼容性。删除原始成员变量会破坏它吗?是否加一个?

如果没有适当的版本差异处理,对 Serializable 类的哪些更改会导致 readObject/writeObject 函数崩溃?

最佳答案

如果您定义了 serialVersionUID,删除或添加原始成员不会破坏它(缺少的原始成员将获得它们的默认值)。更多信息:Java Serialization Specification .

关于java - 哪些更改会使序列化类版本不兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4053359/

相关文章:

java - 如何将请求参数传递给java注解

java - 大小未知的数组

java - 持久化实体不可序列化

python - 如何获取python3中protobuf的RepeatedCompositeContainer或RepeatedScalarContainer包含的类型?

c# - 在 C# 中序列化 - 使用自己的格式?

cruisecontrol.net - 使用CruiseControl.net进行装配体版本控制

使用时间戳作为键的 MongoDB 版本控制

java - Picocli 需要基于主要选项的选项选择

java - servlet jsp中的 session 管理

version-control - 在 WinCvs 中获取分支结尾的修订号