前言:
可能有些人比较习惯于 json 或者 XML 数据存储格式,对于 Protocol Buffer 还比较陌生。Protocol Buffer 是 Google 出品的一种轻量并且高效的结构化数据存储格式,性能比 JSON、XML 要高很多。
其实 PB 之所以性能如此好,主要得益于两个:第一,它使用 proto 编译器,自动进行序列化和反序列化,速度非常快,应该比 XML 和 JSON 快上了 20~100 倍;第二,它的数据压缩效果好,就是说它序列化后的数据量体积小。因为体积小,传输起来带宽和速度上会有优化。并且使用 & 维护更简单;而且 Protocol Buffer 可以跨平台、跨语音使用。
-
序列化: 按照 .proto 协议文件将数据结构或对象转换成二进制流的过程
-
反序列化:将在序列化过程中所生成的二进制流转换成数据结构或对象的过程
目前实现方式有2种:
一种就不需要依赖.proto文件了,可以直接对POJO进行序列化和反序列化,使用起来非常简单。一种是用google的命令将.proto文件转换成 JavaBean文件
(这种将.proto文件转换成 JavaBean文件的有点麻烦,还要下载工具,然后还要把.proto文件转下,在这里我就不做例子了,有兴趣的可以自己别的博客试试 。工具地址:https://github.com/protocolbuffers/protobuf/releases/tag/v3.13.0)