解析protobuf

一,什么是Protobuf

官方文档给出的是:

a language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols, data storage, and more.

一种语言中立的,平台中立的,可扩展的串行化结构化数据的方式,用于通信协议,数据存储等

二,Protobuf的优点

1,性能好,效率高


2,代码生成机制,数据解析类自动生成


3,支持向后兼容和向前兼容


4,支持多种编程语言(java,c++,python)


5,参考文档:http://blog.csdn.net/caisini_vc/article/details/5599468

三,Protobuf的缺点

1, 应用不够广


2, 二进制格式导致可读性差(二进制格式)


3, 缺乏自描述

官方文档描述如下:for instance, protocol buffers would not be a good way to model a text-based document with markup (e.g. HTML), since you cannot easily interleave structure with text


4, 参考文档:http://blog.csdn.net/caisini_vc/article/details/5599468

四,核心概念

1,.proto文件

相当于确定数据协议,数据结构中存在哪些数据,数据类型是怎么样


2,modifiers

2-1 required 不可以增加或删除的字段,必须初始化

2-2 optional 可选字段,可删除,可以不初始化

2-3 repeated 可重复字段, 对应到java文件里,生成的是List


3,Message

在proto文件里,数据的协议时以Message的形式表现的。


4, Build

生成具体的java类时,例如Person.java,同时会存在build方法。文档的意思是对于转化后的数据,具有唯一性,build提供了便利的方法来初始化这些数据。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值