protobuf简介和安装
本文主要参考:
idea protobuf的使用
https://www.cnblogs.com/liugh/p/7505533.html
Google Protocol Buffer 的使用和原理
https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html
下载页面
https://github.com/google/protobuf/releases/tag/v3.5.1
安装
https://www.linuxidc.com/Linux/2016-12/138716.htm
https://blog.csdn.net/xiexievv/article/details/47396725
https://www.jianshu.com/p/0a70eef1bd4a
好,下面上货。
首先引用一下大家用过的一句话:
一条消息数据,用protobuf序列化后的大小是json的10分之一,xml格式的20分之一,是二进制序列化的10分之一,总体看来ProtoBuf的优势还是很明显的。
下面是安装过程:
1、进入下载页进行下载
下载页面
https://github.com/google/protobuf/releases/tag/v3.5.1
2、tar -zxvf protobuf-all-3.5.1.tar.gz
3、mv protobuf-all-3.5.1.tar.gz /usr/local
4、进入/usr/local/protobuf-3.5.1
5、 ./configure
6、make
7、make check
8、make install
9、检查是否安装成功
protoc -version
安装完成后我们可以尝试生成一个protobuf的一个java类。
syntax = "proto2";
package proto;
option java_package = "com.example.demo.proto";
option java_outer_classname = "AddressBookProtos";
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
required string number = 1;
optional PhoneType type = 2 [default = HOME];
}
repeated PhoneNumber phones = 4;
}
message AddressBook {
repeated Person people = 1;
}
这里是一个简单的proto文件。这个文件的作用就是约定了数据的定义规则。
使用如下命令完成java类的导出。
protoc -I=$SRC_DIR —java_out=$DST_DIR $SRC_DIR/addressbook.proto
比如:
protoc -I=. —java_out=. ./addressbook.proto
这样就能够生成指定包名的类了。
还没有评论,来说两句吧...