Java中的序列化与反序列化机制

文章目录

    • 一、序列化的定义
    • 二、为什么需要序列化呢?
    • 三、如何序列化
    • 四、案列实现
      • 4.1、将对象序列化位二进制流
      • 4.2 将序列化后的二进制流反序列化为对象
    • 五、总结

一、序列化的定义

💡 所谓的序列化就是将Java 中的对象转换成一种流的形式(二进制流),可以对转换后的流进行文件的读写以及在网络中传输。反序列化就是将二进制流重新恢复成对象的形式。

二、为什么需要序列化呢?

  • 持久化:将对象持久化后可以将其保存到存储设备中,方便以后再次使用。
  • 更好的在网络中传输:如果不进行序列化,对象在网络中传输可能存在乱序或者不可传输的问题。

三、如何序列化

🎨 在Java中是如何进行序列化的呢?
首先我们需要对需要序列化的对象实现Serializable接口,再添加一个序列化版本ID号:

private static final long serialVersionUID = 46465216595642L;

通过对象输出流ObjectOutputStream可以实现对象的序列化,通过对象输入流ObjectInputStream可以实现对象的反序列化,也就是将二进制流还原成Java对象。

四、案列实现

⚠️接下来,让我们序列化一个User对象,揭开这层神秘的面纱!

✏️首先我们定义一个User用户类:

✏️然后对象变量,设置如下值:

 User user = new User(1001, "admin");

4.1、将对象序列化位二进制流

✏️通过工具打开文件查看内容,可以看到序列化后的内容

4.2 将序列化后的二进制流反序列化为对象

✏️可以明显发现,又把那一堆我们看不懂的二进制流变成了我们Java中的对象了。

User{id=1001, name='admin'}

五、总结

序列化:将对象转换为二进制。

反序列化:将对象从二进制恢复为对象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517394.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

今天起,我们喝的百年牛奶要变了!

一天从一杯光明奶开始,是很多小伙伴的日常:牛奶下肚,醇厚、香甜的奶味仍余舌尖。如今,这家百年老字号正在不断焕发新能量。 今天,光明乳业与阿里云达成战略合作。双方将整合优质资源,形成聚合效应&#xf…

Spring 从入门到入土——AOP 就这么简单!| 原力计划

作者| 冢狐责编 | 夕颜出品 | CSDN博客什么是AOP?面向切面编程(Aspect Oriented Programming),通过预编译的方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点&#xff…

RuoYi-Cloud 进阶篇_03( Seata 高可用集群与 NacosConfig配置中心整合)

文章目录1. 创建文件config.txt2. 创建nacos-config.sh3. 配置导入nacos配置中心4. 配置验证1. 创建文件config.txt 在seata的安装文件夹下创建文件config.txt [rootnode2 ~]# cd /app/seata/seata-server-1.4.2/ [rootnode2 seata-server-1.4.2]# vim config.txt 说明&#…

基于 Tracing 数据的拓扑关系生成原理

背景 随着互联网架构的流行,越来越多的系统开始走向分布式化、微服务化。如何快速发现和定位分布式系统下的各类性能瓶颈成为了摆在开发者面前的难题。借助分布式追踪系统的调用链路还原能力,开发者可以完整地了解一次请求的执行过程和详细信息。但要真…

一条命令导出MySQL表结构xls

文章目录🌱介绍🌷一、先尝鲜💘二、导出失败的看过来🐒三、原理🐷总结🌱介绍 🌷一、先尝鲜 🍃执行下面SQL语句,将会发生神奇的事情😁 SELECT 字段名称,数据…

揭秘2019双11背后的云网络 – 双11网络架构和洛神系统

图1 天猫双11成交额 2019年天猫双11成交额,2684亿!核心系统100%上云!全球最大流量洪峰,阿里云扛住了。 狂欢背后的技术栈 网上轻松购物体验实际上是背后复杂的技术组成的,这是一个简化的通用电商系统架构&#xff0…

拿专属内推码!一汽-大众专场直播招聘来了

作者 | 张红月出品 | CSDN遇见OFFER开学即毕业毕业即失业线下宣讲招聘统统被按下了暂停键迷茫,焦虑,惶恐而HR却说,今年招人太难了腾讯总监甚至路边摆摊招聘2020年各大企业纷纷开启线上模式CSDN作为深受开发者喜爱的社区以用户为本特开设遇见O…

vmware workstation 12 打开vm18 不兼容问题解决

由于需要让别人给我发了一下xp系统的虚拟机,可是打开后,却显示:配置文件“”是由VMware产品创建,但该产品与此版VMware workstations 不兼容,因此无法使用。 解决方案: 分析: 出现这种情况主要…

阿里云开源 image-syncer 工具,容器镜像迁移同步的终极利器

为什么要做这个工具? 由于阿里云上的容器服务 ACK 在使用成本、运维成本、方便性、长期稳定性上大大超过公司自建自维护 Kubernets 集群,有不少公司纷纷想把之前自己维护 Kubernetes 负载迁移到阿里云 ACK 服务上。在迁移过程中,往往会碰到一…

短网址系统设计与实战

🎨领域:Java后端开发🔥收录专栏: 系统设计与实战 🐒个人主页:BreezAm 💖Gitee:https://gitee.com/BreezAm ✨个人标签:【后端】【大数据】【前端】【运维】 文章目录&am…

“我,懂数据,不怕被裁”:这项核心能力到底有多香?

我见过市面上很多的 Python 讲解教程和书籍,他们大都这样讲 Python 的:先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, tuple 等数据结构,然后再介绍字符串处理和正则表达式&#xff0…

RuoYi-Cloud 登陆 /code 获取验证码出错

文章目录1. 异常信息2. 分析定位3. 解决方案1. 异常信息 [网关异常处理]请求路径:/code,异常信息:Invalid value ‘KaptchaTextCreator’ for config parameter ‘kaptcha.textproducer.impl’. 2. 分析定位 如果不修改包名的话,默认不会出现此问题,…

谁顶住双11的世界级流量洪峰?神龙架构负责人等9位大牛现场拆解阿里秘籍

阿里江湖中,很多资源和技术,如神龙服务器、OceanBase、POLARDB等等,在开源、自研、云这三架马车上形成协同效应,既是内功也是武器。 “不是任何一朵云都能撑住这个流量。中国有两朵云,一朵是阿里云,一朵叫…

如何回答性能优化的问题,才能打动阿里面试官?

阿里妹导读:日常工作中,我们多少都会遇到应用的性能问题。在阿里面试中,性能优化也是常被问到的题目,用来考察是否有实际的线上问题处理经验。面对这类问题,阿里工程师齐光给出了详细流程。来阿里面试前,先…

RuoYi-Cloud [网关异常处理]请求路径:/code,异常信息:null

文章目录1. 现象2. 分析定位3. 解决方案1. 现象 nacos配置文件中有值,但是代码初始化时未赋上值 2. 分析定位 既然nacos已经配置了,获取不到只能存在二种情况, 第一种:获取的不是最新的nacos的配置 第二种:没有…

这 10 行比较字符串相等的代码给我整懵了,不信你也来看看

来源 | 程序猿石头责编 | Carol 封图 | CSDN 下载自视觉中国先直接上代码&#xff1a;boolean safeEqual(String a, String b) {if (a.length() ! b.length()) {return false;}int equal 0;for (int i 0; i < a.length(); i) {equal | a.charAt(i) ^ b.charAt(i);}return …

SpringBoot整合websocket实现及时通信聊天

&#x1f3a8;领域&#xff1a;Java后端开发&#x1f525;收录专栏&#xff1a; 系统设计与实战 &#x1f412;个人主页&#xff1a;BreezAm &#x1f496;Gitee&#xff1a;https://gitee.com/BreezAm ✨个人标签&#xff1a;【后端】【大数据】【前端】【运维】 文章目录&am…

2019双11,支付宝有哪些“秘密武器”?

2019双11&#xff0c;支付宝参战的第十一年。 与十一年前相比&#xff0c;双11的许多东西都改变了。比如金额——2684亿&#xff0c;差不多是十一年前的5000倍&#xff1b;比如流量——订单峰值54.4万笔/秒&#xff0c;曾经是想都不敢想的数字&#xff1b;再比如层出不穷的新技…

一文看懂 K8s 日志系统设计和实践

导读&#xff1a;上一篇文章《6 个 K8s 日志系统建设中的典型问题&#xff0c;你遇到过几个&#xff1f;》中我们介绍了为什么需要一个日志系统、为什么云原生下的日志系统如此重要以及云原生背景下日志系统的建设难点&#xff0c;相信 DevOps、SRE、运维等同学看了之后深有体会…

如何在 Kubernetes 上配置 Jenkins?

作者 | Sudip Sengupta译者 | 火火酱&#xff0c;责编 | Carol封图 | CSDN 下载自视觉中国在本文中&#xff0c;我们将一起完成在Kubernetes上配置Jenkins的工作。作为一款被广泛使用的开源CI服务器&#xff0c;Jenkins提供了数百个插件&#xff0c;能够为我们项目的构建、部署…