Protobuf简介
Rrotobuf 是Google 公布的开源我的项目,全称 Google Protocol Buffers, 是一种轻便高效的结构化数据存储格局,能够用与数据的序列化。它与开发语言无关,和平台无关,具备良好的可扩展性。Protobuf和所有的序列化框架一样,都能够用于数据存储、通信协定。
Portobuf的序列化的后果体积要比XML、JSON小很多,XML和JSON的形容信息太多了,导致音讯要大;此外Portobuf还应用了Varint 编码,缩小数据对空间的占用。
Portobuf序列化和反序列化速度比XML、JSON快很多,是间接把对象和字节数组做转换,而XML和JSON还须要构建成XML或者JSON对象构造。
装置教程
在idea的plugins中搜寻proto
,而后下载如下的插件就行(最多下载的那个):这里我曾经装置好了,点击install,而后重启就能够。
应用教程
首先 引入依赖
<dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>3.6.1pr</version></dependency>
在idea中新建一个Student.proto文件,写入:
syntax = "proto3"; //版本option java_outer_classname = "StudentPOJO";//生成的外部类名,同时也是文件名//protobuf 应用message 治理数据message Student { //会在 StudentPOJO 外部类生成一个外部类 Student, 他是真正发送的POJO对象 int32 id = 1; // Student 类中有 一个属性 名字为 id 类型为int32(protobuf类型) 1示意属性序号,不是值 string name = 2;}
而后在本地编译,须要下载protoc.exe 程序。
应用命令protoc.exe --java_out = . Student.proto
,而后把生成的StudentPOJO放入我的项目中应用。
参考简书