序列化与反序列化

  • 概念:把对象转化成字节序列的过程称之为对象的序列化,反之,称为反序列化。
  • 实现:
  1. implements Serializable:实现Serializable接口。
  2. ObjectInputStream  : 表示读取指定的字节数据转换成对象。
  3. ObjectOutputStream :将一个对象转换成二进制流。
  • 序列化并不保存静态变量
  • Transient关键字表示指定属性不参与序列化,被修饰的属性通过反序列化得到的是该属性的初始值
  • 如果父类没有实现序列化(没有implements Serializable),而子类实现序列化。那么父类中的成员变量没办法做序列化操作。
  • 对象能否被反序列化,不仅仅取决与对象的代码是否一致,还取决与UID
  • 序列化存储规则:对同一对象进行多次写入,打印出的第一次存储结果和第二次存储结果,只多了5个字节的引用关系。并不会导致文件的累加。
原文地址:https://www.cnblogs.com/LJing21/p/10405673.html