简介
本章主要内容:
- Java序列化的缺点
- 业界流行的几种编解码框架介绍
Java的序列化目的:
- 网络传输
- 对象持久化
Java序列化仅仅是编解码技术的一种,目前衍生出多种编解码技术和框架。如Google的Protobuf、Facebook的Thrift和JBoss Marshalling。
Java序列化缺点
- 无法跨语言
Java序列化技术是Java语言内部私有协议,其他语言不支持,完全是黑盒。其序列化后的字节数组,其他语言无法反序列化,严重阻碍了其应用。 - 序列化后的码流太大
评判一个编码框架的优劣势
- 是否支持跨语言,支持的语言是否丰富
- 编码后的码流大小
- 编解码的性能
- 类库是否小巧,API是否方便
- 开发者上手开发难度