serialVersionUID

serialVersionUID

javaBean对象是存储在JVM堆内存里的,为了将javaBean对象进行持久化和传输,引入了序列化和反序列化。

序列化:将javaBean对象转换成可存储(内存—硬盘)、进行传输(二进制字节在网络传输)

反序列化:上述操作反转成javaBean

为了转换中不发生异常:

  1. 必须实现Serializable接口,才能进行序列化和反序列化;
  2. serialVersionUID使用:

    1. 必须给类指定serialVersionUID,否则jvm会生成默认的serialVersionUID,而如果后续类的字段、属性发生变化,自动生成的serialVersionUID也会改变,这将导致异常。
    2. 同一个版本中同一个类,serialVersionUID必须一致,不同版本考虑架构是否兼容上一版本选择修改或者保持一致,一般都是保持一致。
  3. serialVersionUID的生成:
    我们使用mybatis的po生成工具时,生成的serialVersionUID一般=1L,这里我们可以不修改,也可以使用idea安装的插件GenerateSerialVersionUID来生成,插件应该是根据hash等字段、属性用某个算法生成的唯一id,推荐使用插件生成。如果觉得手动生成烦琐,还可以安装插件saveAction,直接设置保存时生成serialVersionUID

你可能感兴趣的:(后端java)