首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

google protobuf 施用

2012-12-26 
google protobuf 使用1. 下载:http://code.google.com/p/protobuf/downloads/list?2.解压文件到:D:\Java\p

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类也不一样。?

?

热点排行