序列化定义

  • 保存对象状态的机制称为序列化,简言之就是读取对象状态。对象通常存储在内存中。
  • Java提供的一种对象持久化保存的技术。
  • 将一个对象的状态写入到一个字节流的过程。磁盘保存字节流(二进制)文件就是保存对象。
  • 将对象信息从内存保存至系统中的指定路径。

序列化实现

1.实现java.io.Serializable接口

2.类的所有字段必须是可序列化的

class Cat implements java.io.Serializable {
int age; // 默认实现序列化
String sex; // 默认实现序列化
WhiteCat cat; // 报错,WhiteCat没有序列化
}
WhiteCat {}

// Cat包含对WhiteCat的引用,Cat序列化时会将WhiteCat一并序列化。
如果WhiteCat无法序列化,则会发生异常,需要使用transient修饰。

class Cat implements java.io.Serializable {
int age; // 默认实现序列化
String sex; // 默认实现序列化
transient WhiteCat cat; // 显示声明不用序列化
}

反序列化

  • 将对象从文件读入之内存。

序列化的意义

对象在程序运行结束后会被回收,将对象保存到系统指定目录下的文件中才能永久保存对象信息。