Google Protocol Buffer入门实战(附源码)
Google Protocol Buffer(后面简称PB)是Google开源的一款二进制序列化工具,占用空间小,传输效率高。最近由于项目中使用到了PB,所以特地学习了PB,这篇文章也是自己学习PB的一些小结。
根据官方定义,PB是一个语言中立,平台中立的,用于序列化结构化数据的协议。
说到序列化,可能大家最容易想到的是JDK自带的序列化协议,使用PB而不使用自带的序列化协议主要基于以下几点考虑:
- 占用空间希望尽可能小
- 传输效率尽可能高
- 跨平台
那么,JDK自带的序列化就不能满足需求了,而且PB将数据序列化成二进制数据,大大降低空间占用。PB的优势主要体现在以下几点:
- 更简单
- 降低3-10倍的占用空间
- 20至100倍的速度提升
- 低侵入性
- 更易于编程的数据访问类
PB入门实战
使用PB也是极其简单的,首先需要定义一个后缀为.proto
的文件,然后使用PB编译器生成数据访问类,使用PB的API读写数据。需要下载PB编译器执行编译,然后在IDE中下载PB插件。
以IntelliJ IDEA为例,可以安装Google Protocol Buffers support插件,在Plugins
栏目中选择Browse repositories
,在搜索框中搜索Google Protocol Buffers support
,出现下图,点击安装,之后重启IDEA就可以了。
创建Maven工程,配置PB编译器的安装路径(文后有下载地址):
pom.xml依赖文件:
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.rhwayfun</groupId> <<