1. 什么是序列化和反序列化
序列化协议属于 TCP/IP 五层协议模型的应用层的一部分。
💡 序列化协议属于 OSI 七层协议模型的表示层:
![]()
- 序列化: 将数据结构或对象转换成二进制串的过程
- 反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程
为什么要序列化?
- 1. 减小内存空间和网络传输的带宽
- 2. 分布式的可扩展性
- 3. 通用性,接口可共用
因为 RPC 框架需要进行网络通信。这就需要使用到序列化与反序列化。
2. 常见序列化协议对比
下面提到的都是基于二进制的序列化协议,像 JSON 和 XML这种属于文本类序列化方式。虽然 JSON 和 XML可读性比较好,但是性能较差,一般不会选择。
JDK 自带的序列化方式一般不会用 ,因为序列化效率低并且部分