java的序列化机制是什么?java序列化ID的作用:世界热闻
序列化ID的作用:
序列化ID决定着是否能够成功反序列化!简单来说,java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地实体类中的serialVersionUID进行比较,如果相同则认为是一致的,便可以进行反序列化,否则就会报序列化版本不一致的异常。
通俗意思就是:
(资料图片仅供参考)
不加序列化ID:
某个类进行序列化保存本地或者进行网络传输反序列化时,如果修改了该类,则序列化ID不一致,报错!
加序列化:
某个类进行序列化保存本地或者进行网络传输反序列化时,如果修改了该类,则原本类中存在的值,可取出,不存在的,取默认,不会报错!
看例子:
1、不加序列化ID执行序列化:
import java.io.*;public class Solution implements Serializable { String name = "abc"; public static void main(String[] args) throws IOException, ClassNotFoundException { Solution s = new Solution(); ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("a.txt")); objectOutputStream.writeObject(s); objectOutputStream.close(); }}
2、修改类,在类属性中添加age属性,进行反序列化:
import java.io.*;public class Solution implements Serializable { String name = "abc"; int age = 10; public static void main(String[] args) throws IOException, ClassNotFoundException { FileInputStream fis = new FileInputStream("a.txt"); ObjectInputStream inputStream = new ObjectInputStream(fis); Solution s1 = (Solution) inputStream.readObject(); System.out.println(s1.name); System.out.println(s1.age); }}
3、结果:
可以发现,修改了类之后,serialVersionUID发生了改变,反序列化失败,连name属性都提取不出!
1、加序列化ID进行序列化:
import java.io.*;public class Solution implements Serializable { private final static long serialVersionUID = 20000L; String name = "abc"; public static void main(String[] args) throws IOException, ClassNotFoundException { Solution s = new Solution(); ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("a.txt")); objectOutputStream.writeObject(s); objectOutputStream.close(); }}
2、在类中添加age属性,进行反序列化:
import java.io.*;public class Solution implements Serializable { private final static long serialVersionUID = 20000L; String name = "abc"; int age = 10; public static void main(String[] args) throws IOException, ClassNotFoundException { FileInputStream fis = new FileInputStream("a.txt"); ObjectInputStream inputStream = new ObjectInputStream(fis); Solution s1 = (Solution) inputStream.readObject(); System.out.println(s1.name); System.out.println(s1.age); }}
3、结果:
可以看到,name值取出来了,而且age值为默认0!
因为age没有进行序列化,所以保存的字节流文件中并没有age对应值,我们只能取出Solution类中的name属性的值,因为序列化的字节流中存在,当序列化ID相同时,反序列化执行成功!
标签:
相关推荐:
最新新闻:
- java的序列化机制是什么?java序列化ID的作用:世界热闻
- rolling(k)函数的用法详解 例子说明rolling函数的用法
- 天天时讯:cdn加速测试:又拍云每个月免费提供15g流量
- 微信支付如何关闭“自动扣费”?关闭微信自动扣费的方法步骤 全球报资讯
- 英国女子号称“现实版睡美人” 每天昏睡22小时
- 环球速递!《神领编年史》新更新上线 SE移除D加密技术
- 2023年2月PS5在英国的销量暴涨316%
- 全球消息!《死亡细胞》重返恶魔城DLC发布上市预告
- 北京最新天气预报:今天最高气温19℃,大气扩散条件和能见度较差
- Arkane确认所有版本《红霞岛》支持跨平台联机
- 太便宜了!精粤B760M主板仅需399元
- 天天微头条丨只能用功能机 司法部要求FTX创始人保释期间不能用智能手机
- 续航50短通勤 五星钻豹电动车1299元:全球热头条
- 索尼克之父中裕司认罪!承认内幕交易
- 环球视讯!微软Win11开始重新设计混音器
- 人民币是什么材料做的|即时看
- 《最终幻想16》不是基于夜光或虚幻引擎运行
- 全球讯息:《破坏领主》3月15日登陆主机 Endgame更新同时发布
- 《宝可梦:朱/紫》1.2更新后部分玩家存档被删除:环球要闻
- Wii U用户重创:任天堂下架马里奥赛车和斯普拉遁
- 烧白做法_烧白如何做
- 国外团队开发出突破性隐形眼镜 可防干眼症 速递
- 热消息:《忍者神龟:变种大乱斗》首曝中字预告 “龟”来依旧是少年
- 红楼梦十二金钗判词|环球热闻
- 当前热讯:男子用微缩模型还原高启强老家:做了11天 约400个配件
- 戴尔推出AW620M无线鼠标 DPI最高26000
- 焦点热议:百威亚太(01876):高端啤酒龙头国内市场“遇冷记”
- 外媒锐评《自杀小队》服务模式:都想学《命运》?
- 《大航海时代:起源》现已在Steam免费发售 支持中文配音
- 《古墓丽影》重启作发售10周年纪念 官方发文庆贺 新视野
- 修培刻灵“蕉仙素”是非药物疗法与现代生物科技的结晶
- 澳大利亚将对猫咪实行“宵禁” 逃跑出门或被处决
- 华语悬疑剧《模仿犯》新预告:3.31网飞独家上线:环球聚看点
- 一本院校回应招聘会有洗碗工岗位 不只面向学生
- 小米MIUI 14迎来最新升级!MIUI相机史诗级更新(附刷机包下载)
- 电视剧山河令演员表|环球观点
- 【当前热闻】荣耀发布四款MagicBook笔记本,主要特点一览
- 看片太爽了!极空间 Z4s NAS 售价新低:2899元
- 《龙珠斗士Z》官方宣布仍将调整平衡性 新更新稍后实施:环球速递
- 每日讯息!Furyu ARPG新作《恸哭机巧》OP动画公开
- 每日热文:CDPR发布《巫师3:狂猎》萝卜介绍 网友:不是叫葡萄吗
- 《美生中国人》制作花絮:杨紫琼、吴彦祖玩转校园_当前最新
- 新资讯:《火焰纹章:结合》DLC第三弹纹章士介绍影片公开
- 折叠屏手机首次出货量下滑,同比下降 26%
- 全球今头条!荣耀 MagicBook X 14/16 Pro 笔记本发布:4299 元起,13 代酷睿
- 抄底价!小米Redmi K50 Ultra 12+256G仅2619元|环球头条
- 环球热讯:京东百亿补贴正确打开方式轻松get 飞利浦小旋风空气炸锅只要349元
- 京东「百亿补贴」上线,红米K50至尊顶配低至2949元
- 环球热点!《如龙 维新·极》制作人采访:焕然一新的游戏体验!
- 饭制虚幻5《GTA:圣安地列斯》重制版预告:CJ前面跑 飞机后头追
- 环球热点!《如龙 维新·极》制作人采访:焕然一新的游戏体验!
- 传闻:《GTA6》2024年底推出 本体或削减内容用DLC补齐-看热讯
- 卧龙苍天陨落天柱派钥匙在哪?卧龙苍天陨落道士家的后院钥匙位置_今日热闻
- 5秒学会用抖音 但当代年轻人已不会用打印机甚至电脑:时代真变了
- “雷锋精神”在警营 伊春公安将爱“钉”入百姓家:天天快资讯
- 世界滚动:三微边设计!小米27英寸2K IPS显示器低至749元
- 环球精选!超大超爽!12G+512G旗舰机2149元
- 焦点关注:春季行情!苏宁易购举办专场供应商沟通会
- 直降500元!铭瑄MS-RTX4080 iCraft OC16G瑷珈独立显卡
- 每日快报!12代酷睿四核神U加持!天钡N-box迷你主机低至898元
- 游戏改编《龙与地下城》新预告:宝箱怪、噬脑怪亮相:今日最新
- 座位螺栓没拧紧!特斯拉在美召回3470辆汽车|焦点热闻
- 《怪物猎人崛起:曙光》推出冥渊龙和混沌黑蚀龙Q版毛绒玩具 售价196元
- 《卧龙:苍天陨落》PS5性能分析 身临其境般的体验_当前通讯
- 航空航天
- 33万买奥迪A7L 内部福利普通人别想:世界观热点
- 2022年全球光伏组件出货量top10!黑马“大明光福”首次入选_全球头条
- 京东百亿补贴3月6日全面上线 海信高清电视仅售755元
- 【环球速看料】京东百亿补贴全面上线:4899元买iPhone 14
- 焦点关注:国产游戏显卡直降1100元:已支持42款游戏
- 举义旗迎国货,一科技公司发起反ChatGPT号召
- 全球消息!《最后生还者》第八集IGN 9分:绝望使人坠入深渊
- 致敬经典 粉丝打造《最终幻想6》2D-HD重制版
- 天天视点!《最终幻想16》新宣传片 更多游戏细节介绍
- 天天新资讯:女子10元机选票擒双色球830万 连续多天没睡好觉
- 环球快看:刘亦菲捧花手机壳搜索量飙升2852%:换上能带来好运
- 《红霞岛》本周举办媒体预览活动 可以实机游玩 最新快讯
- 上海迪士尼重启握手拥抱合影!网友:已经等不及了_世界今亮点
- B站《三体》复播被观众狂刷好评:网友们是懂阴阳的-最新快讯
- R星设计总监:《GTAOL》专为单人游戏而设计
- 如何辨别蜂蜜真假?教你5个小窍门轻松辨别真假蜂蜜
- 天天讯息:iPhone 15 系列前玻璃面板曝光:超窄边框,全系灵动岛
- 今头条!魅族 20 搭载 5000 万像素 1/1.56 寸主摄:或为索尼 IMX766?
- 任天堂Switch 2:在任天堂最新动作后传言加剧
- 竖排四摄造型绝了!魅族董事长沈子瑜晒出魅族20 Pro真机图