作用

  1. 用于判断序列化文件是否已经失效(过期)。
  2. 序列化的时候会把这个ID写到文件里。
  3. 读的时候会把这个ID和代码里的ID比较,如果不一致,表示文件里的已经失效。(will result in an InvalidClassException.)

值写为多少

你可以写为1L,也可以让IDEA帮你生成一个。

不写会有什么问题

不写的话,序列话的时候,JVM会帮你动态的生成一个。这个动态生成的算法可能在不同的虚拟机里不一样,也就是不同的环境下生成的可能不同。这就会有一个问题,你序列化产生的文件,别人读的时候会 InvalidClassException。

注意:显示声明serialVersionUID可以避免对象不一致

两种显示的生成方式

一是默认的1L,比如:private static final long serialVersionUID = 1L;

二是根据包名,类名,继承关系,非私有的方法和属性,以及参数,返回值等诸多因子计算得出的,极度复杂生成的一个64位的哈希字段。基本上计算出来的这个值是唯一的。比如:private static final long serialVersionUID = xxxxL;

注意:显示声明serialVersionUID可以避免对象不一致

IntelliJ IDEA 编写类自动生成serialVersionUID

当我们用 IntelliJ IDEA 编写类并实现 Serializable(序列化)接口的时候,可能会遇到这样一个问题,那就是:无法自动生成serialVersionUID

在这里,我们就一起来看看如何利用 IntelliJ IDEA 自动生成serialVersionUID.

第 1 步:安装GenerateSerialVersionUID插件

如上图所示,点击Preferences,进入如下界面:

在这里,选择Plugins,并搜索GenerateSerialVersionUID,如果没有发现此插件,则可以点击Search in repositories进行搜索:

如上图所示,点击install,即可安装此插件。

第 2 步:设置Inspections功能

如上图所示,进入Default Settings,在Inspections设置页面中,勾选Serializable class without 'serialVersionUID',并且还可以在Severity中设置提示级别,如Warning、Error等,默认为Warning,也建议选择Warning级别的提示。

如上图所示,创建一个类并实现Serializable接口,然后按alt+Enter键,即可收到提示,然后选择SerialVersionUID:

如上图所示,显然我们已经利用 IntelliJ IDEA 中自动生成serialVersionUID啦!

idea序列化自动生成_serialVersionUID在数据序列化中重要性相关推荐

  1. mysql存储过程自动生成周次数据

    mysql存储过程自动生成周次数据 1.目的 因项目特殊要求,需按周生成对应批次数据,如周次跨月需要生成两条数据:生成的对应字段如下: 2.步骤: 2.1.创建数据库表 在这里插入代码片 ```CRE ...

  2. jeesite如何已生成数据的数据源_如何在postman中自动生成接口请求数据,这个功能你需要知道,可结合浏览器和两大抓包工具使用...

    在做接口调试或测试时,请求中的每个参数都要按照接口文档填写到postman的对应位置中,很是麻烦.那是否有这样一个功能?可以帮我们自动生成接口数据,无需修改,直接发送请求就可以呢. 这里面我们需要借助 ...

  3. 深度学习项目一: keras实现歌词的自动生成 (含数据和所需源码)

    数据集下载:点我下载数据集 我们实现的是歌词的自动生成. 主要看我在代码中的注释..注释的很详细,不懂可以留言. 1:我们加载所需要的模块,这里的模块都是比较常用的模块 from keras.mode ...

  4. MySQL利用存储过程自动生成千万条数据

    文章目录 ​前言 ​一.实现思路 ​二.实现步骤 ​1.创建数据库 ​2.创建存储表和内存表 ​3.创建所需函数 ​4.创建存储过程 ​5.调用存储过程插入数据 ​6.统计数据库 ​ 拓展 ​总结 前 ...

  5. doc自动生成html,java web应用中自动生成文章html页面的实现.doc

    java web应用中自动生成文章html页面的实现 java web应用中自动生成文章html页面的实现 2009-11-09 00:24:15 标签:web开发,页面转换 [推送到技术圈] 版权声 ...

  6. 文件夹自动生成html画廊,在 Photoshop 中创建 Web 照片画廊

    注意: 要通过 Photoshop CS5 创建 Web 画廊,请参阅 Adobe Bridge 帮助中的创建 Web 照片画廊.要使用以下主题中介绍的较早的可选 Web 照片画廊增效工具,请先下载并 ...

  7. 如何标题编号自动生成_如何在论文中插入目录和自动编号

    在论文中,排版的一大问题莫过于标题自动编号和自动生成目录了,这两项操作涉及到多级列表设置和目录生成两大操作,这篇文章来详细介绍一下这两大操作,让你分分钟搞定论文目录生成和多级列表.视频中的操作可以让大 ...

  8. python3根据excel表数据自动生成word格式数据报告

    目录 1. 完成xlsx数据读取 2.对数据做一些处理 3.生成图表 4.创建word文件 5.将分析结果保存入word文件中 本文主要是讲如何根据简单的xlsx数据,生成word数据报告,首先需要先 ...

  9. 自动生成100个数据 c语言,用C语言随机函数生成100个不大于100的数的具体算法怎么写?...

    http://blog.tianya.cn/blogger/post_show.asp?idWriter=0&Key=0&BlogID=382219&PostID=454742 ...

最新文章

  1. Recyclerview 添加一个数组
  2. Java控件模糊半透明_Android如何实现模糊的半透明窗口 | 学步园
  3. html 表格点击修改全部替换成文本_excel表格计算一个数据在总值中的占比
  4. (四)工况曲线构建 2019年研究生数学建模D题《汽车行驶工况构建》
  5. 1.8 循环神经网络的梯度消失-深度学习第五课《序列模型》-Stanford吴恩达教授
  6. python编程设计大学ppt_Python程序设计-清华大学出版社-董付国第5章-函数的设计和使用PPT...
  7. 【每周NLP论文推荐】 对话管理中的标志性论文介绍
  8. 软件工程模块开发卷宗_软件智能化再进一步,未来人人都能开发软件?
  9. Day 3 in India
  10. 多系统并行服务器,具有分布式并行I/O接口的分布式并行服务器系统的性能研究...
  11. android控件详解大全 android开发有关资料
  12. python的模块导入问题_python的模块导入问题
  13. vue x 兼容iphone_【前端vue系列】初始化一个vue工程
  14. 7 EDA实用技术教程【基本语句3】
  15. MDK5如何生成bin文件
  16. 为什么登录赛尔号显示服务器未开启,赛尔号之勇者无敌无法打开怎么办 赛尔号之勇者无敌登录不了解决方案...
  17. 计算机硬件广告语,硬件防毒广告宣传语
  18. MySql的基石——索引
  19. Python tkinter(2)深入聊聊窗口
  20. No query specified

热门文章

  1. mysql中文编码问题
  2. 成为LINUX系统管理员几点规则
  3. 北大青鸟组建与维护企业网络高级技术PPT课件
  4. hive复合数据类型之struct
  5. html输入支付密码样式,基于JS实现类似支付宝支付密码输入框
  6. [转载] 整理下java中stringBuilder和stringBuffer两个类的区别
  7. cd-rom门锁定什么意思_CD-ROM XA的完整格式是什么?
  8. Java BigDecimal toBigIntegerExact()方法(带示例)
  9. 设置header_Nginx的这些安全设置,你都知道吗?
  10. vb.net变量值变化触发事件_Angular变化检测的理解