序列化和反序列化的解释

1. 定义

后端服务都是基于微服务架构实现的。服务按照业务划分被拆分,实现了服务的解耦,但同时也带来了新的问题,不同业务之间通信需要通过接口实现调用。

两个服务之间要共享一个数据对象,就需要从对象转换成二进制流,通过网络传输,传送到对方服务,再转换回对象,供服务方法调用。这个编码和解码过程我们称之为序列化与反序列化

2. 衡量序列化框架好坏的标准

序列化的速度

序列化后的传输数据体积

3. Java 序列化的缺陷

无法跨语言, 如果是两个基于不同语言编写的应用程序相互通信,则无法实现两个应用服务之间传输对象的序列化与反序列化, C++ 写游戏服务,Java/Go 写周边服务,Python 写一些监控应用。
易被攻击
序列化后的流太大, Java 序列化中的编码耗时要比 ByteBuffer 长很多。

相关推荐
冷琅辞3 小时前
Elixir语言的云计算
开发语言·后端·golang
Asthenia04124 小时前
编译原理基础:LL(1) 文法与 LL(1) 分析法
后端
Asthenia04124 小时前
编译原理基础:FIRST 集合与 FOLLOW 集合的构造与差异
后端
Asthenia04125 小时前
编译原理基础:FOLLOW 集合与 LL(1) 文法条件
后端
Asthenia04125 小时前
编译原理基础:FIRST 集合与提取公共左因子
后端
欧宸雅5 小时前
Clojure语言的持续集成
开发语言·后端·golang
Bruce_Liuxiaowei6 小时前
基于Flask的DeepSeek~学术研究领域智能辅助系统设计与实现
后端·python·flask·deepseek
Asthenia04126 小时前
面试官问:你谈谈网络协议栈是什么?你觉得Java工程师需要了解哪些部分?
后端
穿林鸟6 小时前
Spring Boot项目信创国产化适配指南
java·spring boot·后端