浅谈对象序列化

对象序列化,必须实现 Serializable 接口。

  1. Serializable 接口:属于标记接口,没有方法。
  2. 序列化版本 ID:反序列化时使用,比较二进制文件的 ID 与 Class 文件得到 ID,判断是否为同一个类。
  3. 成员变量
    • 若成员变量也参与序列化,则必须实现 Serializable 接口。
    • 若成员变量不参与序列化,需使用 transient 关键字。
    • 静态变量位于方法区(而不是堆),不会被序列化。

示例

 // 示例
 public class Person implements Serializable {
     private static final long serialVersionUID = 4620885805607038048L;
 
     private String name;
     private transient int age;
 
     // 构造器、toString()等
 }
posted @ 2023-03-23 13:55  Jaywee  阅读(20)  评论(0编辑  收藏  举报

👇