序列化跟反序列化

序列化和反序列化

1. 一个类若想被序列化,则需要实现java.io.Serializable 接口,该接口中没有定义任何
方法,是一个标识性接口(Marker Interface),当一个类实现了该接口,就表示这个
类的对象是可以序列化的。
2. 在序列化时,static 变量是无法序列化的;如果A 包含了对B 的引用,那么在序列化
A 的时候也会将B 一并地序列化;如果此时A 可以序列化,B 无法序列化,那么当
序列化A 的时候就会发生异常,这时就需要将对B 的引用设为transient ,该关键字

表示变量不会被序列化。

序列化跟反序列化

3. 当我们在一个待序列化/反序列化的类中实现了以上两个 private 方法(方法声明要
与上面的保持完全的一致),那么就允许我们以更加底层、更加细粒度的方式控制序
列化/反序列化的过程。