java 序列化serialVersionUID 作用
来源:互联网 发布:linux tomcat无法启动 编辑:程序博客网 时间:2024/05/19 05:33
eclipse开发java是,对于需要传输存储对象的需求,一种选择就是序列化对象。对于序列化的对象包含serialVersionUID 字段。作用如下:
简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。
情况一:类定义时不指定serialVersionUID,此时编译时会产生一个随机的8byte的值。换句话说就是没编译一次这个值就变一次。这就要求序列化与反序列化的class文件必须是同一次编译生成的。能动性太差。
情况二:类定义时指定serialVersionUID为一个固定值。可以实现不管编译几次,相互之间都是兼容的。但是有风险,如果类的属性名方法名字等改变了,反序列化机制不会报错,产生错误结果,损失惨重。
情况三:类定义时指定serialVersionUID的值,这个值是根据类的属性描述方法描述类的描述的一个哈希值,每次更改代码时重新生产一次。解决相同代码多次编译的兼容性,避免代码改变、不同类型反序列化的风险。需要编译器的保证。
0 0
- java 序列化serialVersionUID 作用
- Java中序列化的serialVersionUID作用
- Java中序列化的serialVersionUID作用
- Java序列化及serialVersionUID作用
- Java中序列化的serialVersionUID作用
- Java中序列化的serialVersionUID作用
- Java之序列化SerialVersionUID的作用
- java 序列化中serialVersionUID的作用
- Java中序列化的serialVersionUID作用
- Java序列化机制,serialVersionUID作用
- 序列化serialVersionUID的作用
- java序列化serialVersionUID
- serialVersionUID的作用、java的序列化/反序列化
- Java Serializable序列化,反序列化 ,serialVersionUID的作用
- JAVA的序列化机制serialVersionUID的作用
- 对JAVA序列化的理解(serialVersionUID的作用)
- java 序列化定义的 serialVersionUID 有什么作用
- 序列化Serializable serialVersionUID的作用
- 插入排序和求逆序数
- 访问CvSeq内部数据
- 探究观察者设计模式
- Just some pieces of general review on interfacing
- IOS中对控件的操作
- java 序列化serialVersionUID 作用
- microchip MPLAM 错误解决
- 几条sql语句:统计不重复个数、存在更新不存在插入、case when用法
- 【android】一些不错的BLOG
- 虚函数与虚继承
- Linux Crontab 定时任务 命令详解
- vbox下安装的win7无法识别u盘的解决方法
- 如何让asp.net执行命令,暂停几秒,再执行下一行命令?(已解决)
- 第十一章课后作业 商品竞猜