一看就懂的“什么是XXX“系列--什么是序列化

作者 | 浩说编程
来源 | 公众号:浩说编程
[ 大厂技术资源 | 研发必备安装包 | 限时免费获取 ]

在这里插入图片描述

本系列的创作初衷是帮助读者学习或回忆那些常用但容易遗忘的java基础知识。

本系列写作的三个‘最’原则:用最短的篇幅、最简单的表达、使读者以最高效的方式理解“什么是XXX”。

 

读者的收获

1、了解什么是序列化

2、序列化的作用

3、序列化的应用场景

4、如何实现序列化

 

序列化的定义

序列化是指:将java对象转化成二进制字节流的过程。与之对应的:反序列化则是将二进制字节流转化成对象的过程。序列化是一个过程

 

为什么要序列化

在探寻这个问题之前读者需要清楚的是:数据在网络之间是通过二进制序列进行传输的。也就是说如果读者需要在网络通讯的时候传递对象,就需要事先将对象序列化。这就引出了序列化的应用场景:传输对象
图片

码文不易
你的关注是浩说编程持续更新的动力
浩说编程会做的更好

如何实现序列化

图片

执行序列化过程:
图片

执行反序列化过程:
图片

总结一下序列化的几个关键点:

1、对象需实现Serializable接口

2、四个IO流类FileOutputStream、ObjectOutputStream、FileInputStream、ObjectInputStream

3、序列化调用writeObject()方法,反序列化调用readObject()方法

另外,读者需要特别注意的是:

1、静态变量不会被序列化

2、若父类对象实现了序列化,则子类会自动实现序列化(不需要实现Serializable接口)

3、如果序列化的对象中包含对象,那么被包含的对象也需要实现序列化

以上就是关于“什么是序列化”的解答,其实序列化在我设计模式系列文章里有提到过,看过的读者应该有印象,很好理解,希望读者看完有所收获。关注我,你会学到更多。

作者 | 浩说编程
来源 | 公众号:浩说编程
[ 大厂技术资源 | 研发必备安装包 | 限时免费获取 ]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值