美文网首页
serialVersionUID

serialVersionUID

作者: lqsss | 来源:发表于2018-02-10 22:19 被阅读0次

    什么是serialVersionUID

    serialVersionUID表示:“串行化版本统一标识符”(serial version universal identifier),简称UID
    serialVersionUID必须定义成下面这种形式:static final long serialVersionUID = xxxL;

    • 一个是默认的1L,比如:private static final long serialVersionUID = 1L;
    • 一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,

    为什么要serialVersionUID

    序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。

    1. 不一致的serialVersionUID,是无法序列化/反序列化
    2. 如果未显示设置serialVersionUID值,假设修改类的某个field,新生成的
      serialVersionUID 与即将要反序列化的serialVersionUID 不一致,导致失败
    3. 设置一样的serialVersionUID ,可以让新版本的与老版本兼容,完成序列化,只不过发生改动的属性会变成null

    相关文章

      网友评论

          本文标题:serialVersionUID

          本文链接:https://www.haomeiwen.com/subject/jqxhtftx.html