问题:为什么需要序列化

序列化是将对象转换为字节流的过程,便于对象持久化、网络传输。它在网络通信、跨平台传输中起关键作用,如JSON/XML在网络传输前后的序列化。序列化技术包括Protocol Buffers等,提供了高效、小型的编码方式,实现不同语言和协议版本间的兼容性。
摘要由CSDN通过智能技术生成

什么是序列化

序列化是一种处理对象流的机制——把内存中的Java对象转换成二进制流。 
对象流化后,将对象内容保存在磁盘文件中或作为数据流进行网络传输。

序列化是将对象的状态信息转换为可以存储或传输的形式的过程。

概念

     序列化         就是将内存中的对象转换为字节序列,方便持久化到磁盘或者网络传输。

     反序列化      就是将字节序列转换为内存中的对象可以是文件中的,也可以是网络传输过来的。

我们将对象转换成公共的格式叫做序列化,将公共的格式转换成对象叫做反序列化。保存到磁盘只是序列化的一种表现形式。

 

作用

对象转换为有序字节流,方便在网络上传输和保存在本地文件中。在传递和保存对象时。保证对象的完整性和可传递性。

根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。

字节流中保存对象。

对象的序列化和反序列化主要就是使用ObjectOutputStream 和 ObjectInputStream

步骤

对象序列化过程可以分为两步:
第一: 将对象转换为字节数组
第二: 将字节数组存储到磁盘

 

json/xml的数据传递:

在数据传输(也可称为网络传输)前,先通过序列化工具类将Java对象序列化为json/xml文件。

在数据传输(也可称为网络传输)后,再将json/xml文件反序列化为对应语言的对象

 

网络传输过程

网络里数据是通过字节流形式传输的,需要用序列化的方式将j对象转化为字节流化,网络对端接受端,拿到收到的字节再反序列化出来得到对象。

 

为什么要序列化

为什么需要序列化,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值