面试官:详细说说你对序列化的理解
(1)为什么我们要序列化?
因为我们需要将内存中的对象存储到媒介中,或者我们需要将一个对象通过网络传输到另外一个系统中。
(2)什么是序列化?
序列化就是把对象转化为可传输的字节序列过程;反序列化就是把字节序列还原为对象的过程。
(3)序列化的机制
序列化最终的目的是为了对象可以跨平台存储和进行网络传输,而我们进行跨平台存储和网络传输的方式就是 IO,而 IO 支持的数据格式就是字节数组。
将对象转成字节数组的时候需要制定一种规则,这种规则就是序列化机制。
(4)常见序列化的方式
现在常见的序列化方式有:JDK 原生、JSON、ProtoBuf、Hessian、Kryo等。
(5)序列化技术的选型
选型最重要的就是要考虑这三个方面:协议是否支持跨平台、序列化的速度、序列化生成的体积。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)