JDK对象序列化算法
一、JDK对象序列化算法:
1.将对象实例相关的类元数据输出
2.递归地输出类的超类描述直到不再有超类
3.类元数据输出完之后,开始从最顶层的超类开始,输出对象实例的实际数据
4.从上到下递归输出实例的数据
二、序列化信息:
- 序列化头信息:序列化协议,版本
- 类信息:类的描述信息
- 属性值:对象的属性值
三、扩展JDK序列化:
- 重写readObject、writeObject方法。重写序列化信息的第三部分属性值。
- 实现Externalization接口。重写序列化信息的第三部分属性值。
- 继承ObjectOutputStream、ObjectInputStream,重写writeObjectOverride、readObjectOverride方法。完全自定义序列化方式。