google protobuf 使用
1. 下载:http://code.google.com/p/protobuf/downloads/list
2.解压文件到:
D:\Java\protoc
将descriptor.proto生成java 代码,
D:\Java\protoc>protoc.exe -h 查看命令
D:\Java\protoc>protoc.exe --version 查看版本
D:\Java\protoc>protoc.exe -I=D:\Java\protoc\protobuf-2.0.0beta\src\google\protobuf\ --java_out=./ D:\Java\protoc\protobuf-2.0.0beta\src\google\protobuf\descriptor.proto
/** 或者 **/
// 解压protoc-2.3.0-win32.zip,里面有个protoc.exe文件,配置到path
dos下执行:protoc --version 查看版本。
// 然后:D:\Java\protoc>protoc --java_out=. descriptor.proto
3.定义一个proto文件
参考:http://code.google.com/apis/protocolbuffers/docs/proto.html
BaseUserRelation.proto内容如下:
package protobuf ;
option java_package = "com.common.domain.protobuf";
option java_outer_classname = "BaseUserRelationMessage";
message BaseUserRelation{
required int64 user_id = 1;
required int64 follow_user_id = 2;
optional int32 status = 3;
optional int64 tag = 4;
optional int64 gmt_created =5;
optional int64 gm_modified=6;
required int64 id=7;
}
message BaseUserRelationList{
repeated BaseUserRelation baseUserRelation = 1;
}
5.生成java代码:protoc.exe –java_out=./ BaseUserRelation.proto
注: pb序列化性能,序列化后的对象都比java,hession序列化好很多,这个是其本身特性决定, PB少了协议,但这个也带来不方便,当你需要增加或者删除一个字段的时候,你需要重新用proto成生文件,没像用java序列化方便.
proto2.3跟2.4是不兼容的,2.4增加了不少新的API,生成出来的java类也不一样。
页:
[1]