最新动态
idea对实体类生成serialVersionUID以及作用
2024-11-02 02:02

JAVA序列化的机制是通过判断实体类的serialVersionUID来验证版本一致性的 。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。

idea对实体类生成serialVersionUID以及作用

当我们定义的实体类如果没有显示的定义一个类型为long的serialVersionUID的时候,Java序列化机制会根据编译时的class自动生成一个serialVersionUID作为序列化版本比较。只有同一次编译生成的class才会生成相同的serialVersionUID。譬如,当我们编写一个类时,后期需求改动需要在本地类中添加其他的字段,这个时候再反序列化时便会出现serialVersionUID不一致,导致反序列化失败。为了解决这一问题,便是在本地类中显式的添加一个serialVersionUID变量,值保持不变,便可以进行序列化和反序列化。

一般来说,定义serialVersionUID的方式有两种,分别为

采用默认的1L,具体为private static final long serialVersionUID = 1L;
根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,例如 private static final long serialVersionUID = XXXL;

    以上就是本篇文章【idea对实体类生成serialVersionUID以及作用】的全部内容了,欢迎阅览 ! 文章地址:http://houdi.cs-ej.cn/quote/207.html 
     行业      资讯      企业新闻      行情      企业黄页      同类资讯      网站地图      返回首页 成事e家移动站 http://houdi.cs-ej.cn/mobile/ , 查看更多