java 序列化 protobuf_在Java中使用protobuf序列化对象

什么是protobuf

它是一个对象序列化/反序列化的工具,什么是对象的序列化/反序列化?就是把一个Java堆中存活的对象转换成一串二进制编码,然后该编码可以用于本地存储和网络传输。反序列化就是根据一串二进制编码还原出原来的那个对象,protobuf能够将一个对象以特定的格式转换为一个二进制串(序列化),然后将二进制串还原成对象(反序列化)。这里涉及到两个指标:

对同一个目标对象:

1)序列化和反序列化的时间开销,

2)序列化之后串的长度

protobuf在这两个方面都有非常出色的表现(网传)

在Windows下使用protobuf的步骤如下:

第一步:

下载protoc-2.5.0-win32.zip,得到其中的protoc.exe.然后将该protoc.exe的存放路径加入Path环境变量,便于访问。比如,我的protoc.exe存放于D:/protobuf,环境变量中添加如下配置:

D:/protobuf

第二步:

编写.proto文件,它是序列化一个对象的“模板”,protobuf就是根据它来决定如何序列化和反序列化。

编写的person-entity.proto配置文件如下:

option java_outer_classname = "PersonEntity";//生成的数据访问类的类名

message Person {

required int32 id= 1;//同上

required string name = 2;//必须字段,在后面的使用中必须为该段设置值

你可能感兴趣的:(java,序列化,protobuf)