13518219792

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

Java技术:SerialVersionUID作用介绍

1.serialVersionUID概念介绍

英文翻译的意思是序列化版本号。凡是实现Serializable接口的类都会有一个表示序列化版本标识符的静态变量。

成都创新互联公司成都网站建设按需定制网站,是成都网站营销公司,为成都玻璃钢雕塑提供网站建设服务,有成熟的网站定制合作流程,提供网站定制设计服务:原型图制作、网站创意设计、前端HTML5制作、后台程序开发等。成都网站设计热线:18982081108

2.serialVersionUID的生成方式

默认的1L:比如:private static final long serialVersionUID = 1L; 。

根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段:

比如:

private static final long serialVersionUID = 3959055215634785113L;

3.serialVersionUID原理

当定义一个实体类中如果没有显式的定义一个名为“serialVersionUID”、类型为long的变量时,Java序列化机制会根据编译时的class自动生成一个serialVersionUID作为序列化版本比较,这种情况下,只有同一次编译生成的class才会生成相同的serialVersionUID。比如,当我们编写一个Java类时,随着时间的推移,因为需求的改动,需要在该Java类中添加新的的字段,这个时候再反序列化时就会出现serialVersionUID不一致的情况,从而导致反序列化失败。可以通过在本地Java类中添加一个“serialVersionUID”变量,值保持不变,便可以进行序列化和反序列化。如果Java类没有显示指定serialVersionUID,JVM会自动生成一个。

4、serialVersionUID作用

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

5、serialVersionUID注意事项

本文转载自微信公众号「IT技术分享社区」,可以通过以下二维码关注。转载本文请联系IT技术分享社区公众号。

原文链接:https://mp.weixin.qq.com/s/gNmgJcTULeFYFVrBRqkTYA


名称栏目:Java技术:SerialVersionUID作用介绍
当前链接:http://cdbrznjsb.com/article/dpcjgeo.html

其他资讯

让你的专属顾问为你服务