黑马程序员技术交流社区

标题: 序列化的一些总结 [打印本页]

作者: zhousuo28    时间: 2015-5-27 16:27
标题: 序列化的一些总结
对象序列化和对象的反序列化
    对象中的数据: new Person() 自己成员变量
    如果对象数据基本不变,反复使用
  什么是序列化
     将对象中的数据,以二进制的形式,写入硬盘,永久保存
     二进制文件,可以在互联网上传输
  什么是反序列化
    将硬盘中存储的对象的二进制文件,读取出来,还原回对象中数据
   
  实现对象的序列化,有流对象支持
  写对象的流,实现对象的序列化     java.io.ObjectOutputStream
  读对象的流,实现对象的反序列化  java.io.ObjectInputStream


写对象的时候,出现了以异常
Exception in thread "main" java.io.NotSerializableException:
cn.itcast.iostream.Person

Person类,实现Serializable,开启序列化功能

静态:成员变量,属于自己的类,不属于对象,不能序列化

transient 修饰成员变量,用法只有这一种,阻止序列化

Serializable接口
里面没有抽象方法,实现后,不需要重写任何方法,接口存在意义就是个标记,
JVM看 到这个标记,给类序列化
凡是没有抽象方法的接口,都是标记型接口,给实现类做一个标记.

Exception in thread "main" java.io.InvalidClassException:
cn.itcast.iostream.Person; local class incompatible:
stream classdesc serialVersionUID = 8784174444617435087,
  local class serialVersionUID = 5970622219467240027
  
异常:序列号发生了冲突
作者: 张海旭    时间: 2015-5-27 21:13
学习了:victory:
作者: !85684009ex    时间: 2015-5-27 21:15
膜拜大神!谢谢你!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2