序列化注意事项
来源:互联网 发布:网络工程学什么 编辑:程序博客网 时间:2024/06/08 12:41
1、如果子类实现Serializable接口而父类未实现时,父类不会被序列化,但此时父类必须有个无参构造方法,否则会抛InvalidClassException异常。
2、静态变量不会被序列化,那是类的“菜”,不是对象的。串行化保存的是对象的状态,即非静态的属性,即实例变量。不能保存类变量。
3、transient关键字修饰变量可以限制序列化。对于不需要或不应该保存的属性,应加上transient修饰符。要串行化的对象的类必须是公开的(public)。
4、虚拟机是否允许反序列化,不仅取决于类路径和功能代码是否一致,一个非常重要的一点是两个类的序列化 ID是否一致,就是 private static final long serialVersionUID = 1L。
5、Java 序列化机制为了节省磁盘空间,具有特定的存储规则,当写入文件的为同一对象时,并不会再将对象的内容进行存储,而只是再次存储一份引用。反序列化时,恢复引用关系。
6、序列化到同一个文件时,如第二次修改了相同对象属性值再次保存时候,虚拟机根据引用关系知道已经有一个相同对象已经写入文件,因此只保存第一次写的引用,所以读取时,都是第一次保存的对象。
7、如果你添加了serialVersionUID,在反序列旧有实例时,新添加或更改的字段值将设为初始化值(对象为null,基本类型为相应的初始默认值),字段被删除将不设置
阅读全文
0 0
- 序列化注意事项
- 序列化注意事项
- Xml序列化的注意事项
- Java序列化编程注意事项
- 序列化的一些注意事项及建议
- 序列化内部类时的注意事项
- Protostuff序列化时的注意事项
- jquery form表单序列化注意事项
- jquery form表单序列化注意事项
- Java序列化几点注意事项
- Java序列化几点注意事项
- 序列的注意事项
- Java序列化与反序列化注意事项
- Java对象序列化/反序列化的注意事项
- asp.net 2.0 Profile 的一些注意事项(序列化)
- 使用Serializable将一个对象序列化注意事项
- java序列化格式由xml转成二进制注意事项
- java中对象序列化(Serialization)的注意事项
- Linux中的信号量
- 随机数组
- Python安装Image库
- 请求如何进入ASP.NET MVC框架
- STC89C52中断系统
- 序列化注意事项
- Oracle SQL排列组合之排列问题
- Dubbo
- Bootstrap
- 深入理解CSS过渡transition
- IT交流群
- 全文检索技术学习(一)——Lucene的介绍
- 《鸟哥的linux私房菜:服务器篇》linux常用网络命令集合
- T