Java序列化问题总结
2013-02-19 16:33
323 查看
下面是一些复杂对象情况下一些总结:
l 当父类继承Serializable接口,所有子类都可以被序列化
l 子类实现了Serializable接口,父类没有,父类中的属性不能序列化(不报错,数据会丢失),但是子类中属性人能正确序列化
l 如果序列化的属性是对象,这个对象也必须实现Serializable接口,否则会报错
l 在反序列化时,如果对象的属性有修改或删减,修改的部分属性会丢失,但不会报错
l 在反序列化时,如果serialVersionUID被修改,那么反序列化时会失败
l 如果一个父类没有实现Serializable接口,他的内部类如果不是static的,即使实现了序列化接口,也会序列失败。因为非静态内部类会保存一个指向父类的类型this变量,而序列化类的所有属性必须实现序列化接口,所以要将内部类设置成静态类
l List或者Map容器中包含的泛型类型也必须实现Serializable接口,否则也会报java.io.NotSerializableException
l 当父类继承Serializable接口,所有子类都可以被序列化
l 子类实现了Serializable接口,父类没有,父类中的属性不能序列化(不报错,数据会丢失),但是子类中属性人能正确序列化
l 如果序列化的属性是对象,这个对象也必须实现Serializable接口,否则会报错
l 在反序列化时,如果对象的属性有修改或删减,修改的部分属性会丢失,但不会报错
l 在反序列化时,如果serialVersionUID被修改,那么反序列化时会失败
l 如果一个父类没有实现Serializable接口,他的内部类如果不是static的,即使实现了序列化接口,也会序列失败。因为非静态内部类会保存一个指向父类的类型this变量,而序列化类的所有属性必须实现序列化接口,所以要将内部类设置成静态类
l List或者Map容器中包含的泛型类型也必须实现Serializable接口,否则也会报java.io.NotSerializableException
相关文章推荐
- spring boot使用spark javaRdd出现序列化问题总结
- java.io 序列化 总结Serializable 和 Externalizable 的区别与联系,以及输出后的乱码问题
- 关于java中Serializable序列化问题中属性赋值总结
- Java序列化问题总结
- Java序列化问题总结
- Java序列化问题总结
- JAVA问题总结之14-程序运行时间的测量
- Java面试中关于String的问题总结
- java(Web)中相对路径,绝对路径问题总结
- 关于java开发的性能问题总结(必看)
- 40个Java多线程问题总结
- 对Java Serializable(序列化)的理解和总结
- 对Java Serializable(序列化)的理解和总结
- 总结java方法(函数)传值和传引用的问题
- 在CDH5.4.5版本中使用Scala+sbt+Eclipse+Java遇到的问题总结
- 40个Java多线程问题总结
- JAVA问题总结之17-杨辉三角的实现
- JAVA问题总结之18-成员变量与局部变量
- 40个Java多线程问题总结