问答文章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
华为freebuds4i切歌怎么操作_华为freebuds4i怎么切歌 华为freebuds pro切歌方法_华为freebuds pro怎么切歌 华为耳机怎么切换下一曲 欧美电影,好像是宠物有一个世界,宠物会想办法跟主人的灵魂互换占据 ...的名字,欧洲中世纪,一个王子的继母把他的灵魂和狗的灵魂互换了... 问一部外国电影的名字 剧情记得不大清楚l了 是前几年的片子 灵魂互换的... HUAWEI 华为 AGS2-W09 10.1英寸平板电脑 (香槟金、64GB+4GB、WiFi版... 诛仙3百法和千法差距大吗 微信怎么解除应用授权登录 授权应用删除方法 微信怎么解除应用授权登录授权应用删除方法 JAva语句中如何识别序列名 JAVA 一个序列号项目,请大神帮忙看下思路是否正确? java中 如何实现这样规则的序列号 java自动生成的序列号 JAVA 编程 序列号 java 什么对象需要序列化,什么对象不需要序列号 java 为什么序列化?为什么不是所有的类序列化 网络营销推广的好处有哪些?哪些营销推广方式更好? 为什么泡茶时用手压住杯口茶叶会下沉,松手后茶叶会上升 问答营销推广哪个好? 为什么用茶叶水泡手指甲会发黑 用茶叶水泡手脚可治疗治疗手脚出汗吗? 如何做营销推广效果比较好? 有什么比较好的营销推广公司? 男生在变声期怎么练习唱歌 我是一个正在变声期的男生,想要表演唱歌,但声音嘶哑,上不了高音,,有神马技巧吗? 男生在变声期应该怎么练习唱歌长大后好听?对将来的声音有什么影响? 手机听筒声音很小,是什么回事 订金与定金那个可以退 12家金融机构被罚多少? java 按天生成序号 用java获得机器的唯一号 珠江三角洲的经济现状? 苹果官网的以旧换新是先把旧机子寄过去还是先收到新机子过后寄旧机子? 旧机换新机怎么换法 怎么申请第二个? 用馒头怎么做鱼饵 ppt如何加音乐并自动放映 如何创建第二个 怎么申请第二个 怎样申请第二个 孕妇可不可以敷补水面膜? 馒头能钓鱼吗? 孕妇可以敷补水面膜吗? 股票换手率是正还是负好吗 阿暖吾妻,见信如面 的念白音乐叫啥 孕妇可不可以敷补水面膜 同一个人可以建两个吗?怎么弄? 孕妇敷补水面膜好吗 孕妇需要敷补水面膜吗