Java 序列化算法透析

Serialization (序列化)是一种将对象以一连串的字节描述的过程;反序列化 deserialization 是一种将这些字节重建成一个对象的过程。 Java 序列化 API 提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列化以及 Java 序列化的算法,我们用一个实例来示范序列化以后的字节是如何描述一个对象的信息的。

序列化的必要性

Java 中,一切都是对象,在分布式环境中经常需要将 Object 从这一端网络或设备传递到另一端。这就需要有一种可以在两端传输数据的协议。 Java 序列化机制就是为了解决这个问题而产生。

Java 的序列化算法

序列化算法一般会按步骤做如下事情:

  • 将对象实例相关的类元数据输出。
  • 递归地输出类的超类描述直到不再有超类。
  • 类元数据完了以后,开始从最顶层的超类开始 输出对象实例的实际数据值。
  • 从上至下递归输出实例的数据

学习博客

Java序列化算法透析

学习 link

Java 序列化的高级认识

学习 link

Java 序列化对比

学习 link

序列化和反序列化过程中涉及到父类与子类的问题

学习 link