一、什么是序列化

序列化: 将对象的状态信息转换为可以存储或传输的形式过程. 在序列化期间,对象将当前状态写入到临时或持久性存储区. 以后,可以通过存储区中读取或反序列化对象的状态, 重写创建该对象
个人理解: 将对象转换为二进制流 可以保存或传输 并可以通过反序列化将对象重新获取到

二、serializable的好处

  1. 可以将对象转换为字节数据 使其在保存和传输时可以被还原
  2. 序列化时RMI(Remote Method Invoke - 远程方法调用)过程的参数和返回值都必须实现的机制

    1. RMI是JavaEE的基础

      三、实现对象序列化(Serializable)

  3. 实现Serializable接口

  4. 设置静态常量 serialVersionUID
    1. public static final long serialVersionUID
    2. serialVersionUID等同于对象转换为字节流后的身份标识 不进行设置 在反序列化时可能会导致无法反序列化
  5. 保证序列化对象的所有属性都是可以序列化的