码迷,mamicode.com
首页 > 编程语言 > 详细

java序列化一定要应该注意的6个事项!

时间:2015-02-15 12:15:51      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:java序列化   java序列化注意事项   java实现serializable   serializable注意事项   序列化serializable注意事项   

1、如果子类实现Serializable接口而父类未实现时,父类不会被序列化,但此时父类必须有个无参构造方法,否则会抛InvalidClassException异常。

2、静态变量不会被序列化,那是类的“菜”,不是对象的。

3、transient关键字修饰变量可以限制序列化。

4、虚拟机是否允许反序列化,不仅取决于类路径和功能代码是否一致,一个非常重要的一点是两个类的序列化 ID 是否一致,就是 private static final long serialVersionUID = 1L。

5、Java 序列化机制为了节省磁盘空间,具有特定的存储规则,当写入文件的为同一对象时,并不会再将对象的内容进行存储,而只是再次存储一份引用。反序列化时,恢复引用关系。

6、序列化到同一个文件时,如第二次修改了相同对象属性值再次保存时候,虚拟机根据引用关系知道已经有一个相同对象已经写入文件,因此只保存第二次写的引用,所以读取时,都是第一次保存的对象。读者在使用一个文件多次 writeObject 需要特别注意这个问题(基于第5点)。

转载请注明—作者:Java我人生(陈磊兴)   原文出处:http://blog.csdn.net/chenleixing/article/details/43833805

java序列化一定要应该注意的6个事项!

标签:java序列化   java序列化注意事项   java实现serializable   serializable注意事项   序列化serializable注意事项   

原文地址:http://blog.csdn.net/chenleixing/article/details/43833805

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!