java 序列化的一些问题
来源:互联网 发布:php strlen 编辑:程序博客网 时间:2024/05/16 07:24
问题:
版本升级后,查阅日志记录,遇到以下问题
local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = 2949490652656428605
依据已有的知识,断定是序列化的问题。通过查询SVN记录,对应的类果然果然有人把serialVersionUID给改了。
背景知识:
程序运行的过程中,会持久化bean对象,期间牵扯到序列化。
序列化,也就是把对象编码成字节流,反之,反序列化就是把字节流组装成对象。
简单的序列化就是继承Serializable接口,然后使用框架生成serialVersionUID
重温相关知识,以下内容摘自《Effective JAVA》第二版Joshua Bloch著
1.实现Serializable付出的最大的代价是,一旦这个类发布,就大大降低了“改变这个类的实现“的灵活性
--简单理解就是,类发布了,如果有serialVersionUID,则你这个值不能再变了;如果serialVersionUID没值,你的这个类就不能有结构上的变动了。
因为系统会根据隐含的根据类名称,实现的接口名称,以及公有、包含的变量的字段,自动生成一个UID。
2.增加Bug和安全漏洞的可能性
--反序列化严格上来讲是一种构造方法,因此存在一定风险
3.增加了测试的负担
- java 序列化的一些问题
- 关于 Java 序列化的一些面试问题的回答
- java序列化的一些知识点
- Java 序列化的一些高级认识
- java序列化的一些总结
- Java的序列化问题
- Java的序列化问题
- java的序列化问题
- 关于将序列化的java对象保存到mysql数据库的一些问题
- 关于将Java中序列化对象写入byte[]遇到的一些问题及解决方法
- java---java的序列化问题
- .net 序列化时,需要注意的一些问题
- 解决json-lib的一些序列化循环处理问题
- java 序列化 问题
- java序列化问题
- Java序列化问题
- java序列化问题
- java序列化问题
- Ubuntu+Windows7/8双系统安装教程
- qtp参数化-通过excel导入到datatable中
- Chromium源码浅析 --- Chromium的多线程机制
- nginx源码分析之ngx_core_commands
- 黑马程序员_java-String类<五>
- java 序列化的一些问题
- CWRLS0030W and DCSV1134W when WebSphere Application Server hangs during startup
- osg纹理动画效果
- php 编程 小技巧
- 黑马程序员_java集合<七>
- 移动端开发-学习日志
- java 字符串相关操作
- QML 简单hello word 实现简单 变换字体颜色,和旋转动画
- 新炬学院总结8种热门数据库取前几条记录技巧