为什么Proto Buf高效
序列化和反序列化
大家接触的比较多的是java自带的序列化工具,例如我们要对象数据进行持久化到硬盘或者通过网络传输到对端主机上,所以我们需要通过某种序列化工具将数据转化成一种特定数据结构,并且对端或者从磁盘读取时能够按照这种结构解析形成对象。 序列化:对象—>特定结构的二进制串 反序列化:二进制串–>对象。
序列化工具有:Hessian(主要还是java,其他部分语言支持)、JSON、XML、java自带序列化(不能跨语言)、Proto Buf(跨语言)
一个好的序列化工具能够保证空间利用率高,节省网络资源并且能提高解析速率,目前确实存在这样一款很好的序列化工具那就是下面将的Google Proto Buf
Proto Buf 数据结构详解
PB(Proto Buffer) 序列化效率高?
PB序列化和反序列化速度比JSON、XML快20-100倍
1、自带proto编译其能快速进行序列化和反序列化
2、精简的数据结构,就是说同一个对象使用PB序列化成的字节数组会比其他序列化的字节数据更小,这样提高了传输效率和提高反序列化速度
3、语言无关性以及扩展性和兼容性好
Proto Buf 数据结构
TLV (Tag:字段唯一标识、Length:表示字段值的长度 Value:字段的值)
Tag&#x