Java序列化版本ID的知识点
来源:互联网 发布:js gmt转换为北京时间 编辑:程序博客网 时间:2024/05/02 19:50
1.为什么要序列化
在网络传输中需要序列化成二进制文件进行传输
在保存对象时候需要序列化成二进制文件进行保存
2.如何实现序列化
实现接口serializable
3.序列化版本ID的作用
在反序列化的时候起作用,拿到二进制文件的id与class文件进行id对比如果不一致,则抛出异常。
4.序列化版本ID生成策略
4.1警告提示,java编译器会根据包名,类名,方法名,属性名,生成一个64位hashcode
4.2 规定类文件为固定id为1L
5.为什么要规定序列化版本ID
如果我们想要在已经序列化后的java文件改变java文件的属性,javac就会重新编译一遍.java文件生成class文件。重新生成一个序列化版本ID,与二进制文件的ID做对比,就会不一致,抛异常。
再回到问题。如果规定了序列化版本ID,第一次编译这个.java文件。生成的id都是固定的,以后怎么修改都是固定的。二进制文件也是这个id,所以反序列化在比较id就永远一致。
总结第5个问题:说白了,就是满足可以随时修改序列化类的属性方法。
阅读全文
0 0
- Java序列化版本ID的知识点
- Java序列化id
- Java的序列化ID的作用
- java 序列化ID的作用
- java 序列化ID的作用
- Java 序列化ID的作用
- java类的序列化id作用
- java序列化的一些知识点
- java 序列化版本的作用
- java序列化的版本管理
- java序列化和反序列化以及序列化ID的作用分析
- java serialVersionUID 版本序列化
- java对象版本序列化
- java序列化时候序列ID作用(结合实际场景)
- java序列化时候序列ID作用(结合实际场景)
- java序列化类的多版本问题
- 序列化的概念和序列化ID的作用?
- 序列化id
- volatile底层原理
- 1001. A+B Format (20)
- hibernate连接数据库时,数据丢失
- PHP框架laravel实现数据导出为excel
- json-rpc协议
- Java序列化版本ID的知识点
- 朴素贝叶斯方法的学习与分类
- Java代码实现文件名批量修改
- NumPy简介
- asd
- 数组List默认长度
- synchronized的实现原理和应用
- mtrace--linux下检测由malloc导致内存泄露的工具
- 用户列表