问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中的serialVersionUID。 如果在本地的两个类中声明了两个值相同的这个变量,会有什么问题吗?

发布网友 发布时间:2022-05-12 15:07

我来回答

2个回答

热心网友 时间:2023-10-11 08:12

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

当实现java.io.Serializable接口的实体(类)没有显式地定义一个名为serialVersionUID,类型为long的变量时,Java序列化机制会根据编译的class自动生成一个serialVersionUID作序列化版本比较用,这种情况下,只有同一次编译生成的class才会生成相同的serialVersionUID 。

如果我们不希望通过编译来强制划分软件版本,即实现序列化接口的实体能够兼容先前版本,未作更改的类,就需要显式地定义一个名为serialVersionUID,类型为long的变量,不修改这个变量值的序列化实体都可以相互进行串行化和反串行化。

serialVersionUID主要来判断不同版本的兼容性。
当在反序列化的时候,字节流中的版本号,就和serialVersionUID区比较,而生成它的对象。
如果你没有设置,java序列化机制,也自动会给你分配一个。
其实这个东西没必要去考虑!
请参考

热心网友 时间:2023-10-11 08:12

不会吧,求高手来详细说明下
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
现在五粮液000858可以买进么? 2021年五粮液(000858)总资产、总负债、营业收入、营业成本及净利润统... 手机耗电太快了怎么解决 教你方法,轻松解决 Tag模块数组indexOf,splice的使用方法 JavaScript indexOf简介 对于一个JS对象数组怎么使用IndexOf方法得到索引呢? Array.indexOf() 学习 狼来了是什么效应 当两种刺激都出现,认知者会产生首因效应还是近因效应呢? 大过年的…… JAva语句中如何识别序列名 JAVA 一个序列号项目,请大神帮忙看下思路是否正确? java中 如何实现这样规则的序列号 java自动生成的序列号 JAVA 编程 序列号 java 什么对象需要序列化,什么对象不需要序列号 java 为什么序列化?为什么不是所有的类序列化 网络营销推广的好处有哪些?哪些营销推广方式更好? 为什么泡茶时用手压住杯口茶叶会下沉,松手后茶叶会上升 问答营销推广哪个好? 为什么用茶叶水泡手指甲会发黑 用茶叶水泡手脚可治疗治疗手脚出汗吗? 如何做营销推广效果比较好? 有什么比较好的营销推广公司? 男生在变声期怎么练习唱歌 我是一个正在变声期的男生,想要表演唱歌,但声音嘶哑,上不了高音,,有神马技巧吗? 男生在变声期应该怎么练习唱歌长大后好听?对将来的声音有什么影响? 手机听筒声音很小,是什么回事 订金与定金那个可以退 12家金融机构被罚多少? java 按天生成序号 用java获得机器的唯一号 珠江三角洲的经济现状? 苹果官网的以旧换新是先把旧机子寄过去还是先收到新机子过后寄旧机子? 旧机换新机怎么换法 怎么申请第二个? 用馒头怎么做鱼饵 ppt如何加音乐并自动放映 如何创建第二个 怎么申请第二个 怎样申请第二个 孕妇可不可以敷补水面膜? 馒头能钓鱼吗? 孕妇可以敷补水面膜吗? 股票换手率是正还是负好吗 阿暖吾妻,见信如面 的念白音乐叫啥 孕妇可不可以敷补水面膜 同一个人可以建两个吗?怎么弄? 孕妇敷补水面膜好吗 孕妇需要敷补水面膜吗