实现Serializable接口的可序列化类中的serialVersionUID的含义
来源:互联网 发布:淘宝海报设计价格 编辑:程序博客网 时间:2024/06/08 19:40
序列化运行时使用一个称为 serialVersionUID 的版本号与每个可序列化类相关联,该序列号在反序列化过程中用于验证序列化对象的发送者和接收者是否为该对象加载了与序列化兼容的类。如果接收者加载的该对象的类的 serialVersionUID 与对应的发送者的类的版本号不同,则反序列化将会导致 InvalidClassException。可序列化类可以通过声明名为 "serialVersionUID" 的字段(该字段必须是静态 (static)、最终 (final) 的 long 型字段)显式声明其自己的 serialVersionUID:
ANY-ACCESS-MODIFIER static final long serialVersionUID = 42L;
如果可序列化类未显式声明 serialVersionUID,则序列化运行时将基于该类的各个方面计算该类的默认 serialVersionUID 值,如“Java(TM) 对象序列化规范”中所述。不过,强烈建议 所有可序列化类都显式声明 serialVersionUID 值,原因计算默认的 serialVersionUID 对类的详细信息具有较高的敏感性,根据编译器实现的不同可能千差万别,这样在反序列化过程中可能会导致意外的 InvalidClassException。因此,为保证 serialVersionUID 值跨不同 java 编译器实现的一致性,序列化类必须声明一个明确的 serialVersionUID 值。还强烈建议使用 private 修改器显示声明 serialVersionUID(如果可能),原因是这种声明仅应用于立即声明类 -- serialVersionUID 字段作为继承成员没有用处。
- 实现Serializable接口的可序列化类中的serialVersionUID的含义
- 实现Serializable接口的可序列化类中的serialVersionUID的含义
- JavaBean (实现 Serializable(可序列化) 接口的类) 里 serialVersionUID 的作用
- Serializable序列化接口serialVersionUID的理解
- 实现Serializable接口的可控制序列化实现
- 序列化Serializable serialVersionUID的作用
- Serializable序列化中serialVersionUId的作用
- Java中为什么实现了Serializable接口就具备了被序列化的能力以及serialVersionUID的作用
- Serializable接口serialVersionUID的作用
- Java 实现Serializable接口要声明serialVersionUID的原因
- 可序列化接口 Serializable
- 可序列化接口Serializable
- Java Serializable序列化,反序列化 ,serialVersionUID的作用
- 对象的序列化实现Serializable 接口和Externalizable接口
- Java中实现Serializable接口的类中serialVersionUID常量的作用
- Intellij IDEA-2016.2.1设置实现Serializable接口的类自动生成serialVersionUID
- Serializable接口中serialVersionUID的作用 示例
- 在Java中正确实现可序列化接口(Serializable)
- 产品标签功率如何写
- [Java面试六]SpringMVC总结以及在面试中的一些问题.
- 总结
- Java String StringBuffer StringBuilder
- Java集合-HashMap(一)
- 实现Serializable接口的可序列化类中的serialVersionUID的含义
- C# 计算游戏技能攻击区域
- 基于深度学习的Person Re-ID(综述)
- js之script属性async与defer
- Android Studio 快捷键整理分享-SadieYu
- 【Luogu2900】土地征用(斜率优化,动态规划)
- 规范化-数据库设计原则
- C1 输入输出的各种注意事项&用法示例==
- 【JAVASE_学习笔记】抽象类与接口