Google Protocol Buffers 2.3.0 for java 快速开始

  • 博客分类:
  • Java
JavaGoogleUbuntuLinux数据结构

Protocol Buffers是一个平台中立,编程语言无关的,可扩展的机制,是用于结构化数据串行化的灵活、高效、自动的方法,有如XML,不过它更小、更快、也更简单。你可以定义自己的数据结构,然后使用代码生成器生成的代码来读写这个数据结构。你甚至可以在无需重新部署程序的情况下更新数据结构。

一、下载protobuf
去 http://code.google.com/p/protobuf/downloads/list下载最新版本。有Linux和Windowst版本,因为本人用的Ubuntu,所以下载的是linux版本。

二、编译protocol buffer提供的命令行工具protoc
将下载后的文件protobuf-2.3.0.tar.gz解压到当解目录

Java代码  
  1. sundoctor@sundoctor:~/download$ tar zxvf protobuf-2.3.0.tar.gz

进入protobuf-2.3.0目录,按照目录下的README.txt文件说明进行编译安装

Java代码  
  1. sundoctor@sundoctor:~/download$ cd protobuf-2.3.0
  2. sundoctor@sundoctor:~/download/protobuf-2.3.0$ ./configure
  3. sundoctor@sundoctor:~/download/protobuf-2.3.0$ make
  4. sundoctor@sundoctor:~/download/protobuf-2.3.0$ make check
  5. sundoctor@sundoctor:~/download/protobuf-2.3.0$ sudo make install

在ubuntu下可以将sudo make install换成sudo checkinstall,这样会将打包成一个deb文件后再安装,其实在ubuntu中也可以跳过这一步,用源安装更简单

Java代码  
  1. sundoctor@sundoctor:~/download$ sudo apt-get install protobuf-compiler

三、生成基础类库
进入protobuf-2.3.0下的java目录,执行

Java代码  
  1. sundoctor@sundoctor:~/download/protobuf/protobuf-2.3.0/java$ protoc --java_out=src/main/java/ -I ../src ../src/google/protobuf/descriptor.proto

命令把源代码包中的descriptor.proto编译一下,生成一个类。
然后将java/src/main/java中的源代码,就是基础类库,以后项目必须使用这些基础类,当然你也可以将其打成jar包,以方便使用。

四、测试
用eclipse新建java project项目为protobufDemo
编写proto定义文件,本文采用protobuf-2.3.0自带例子,进入protobuf-2.3.0的examples目录下有一个addressbook.proto文件,执行

Java代码  
  1. sundoctor@sundoctor:~/download/protobuf/protobuf-2.3.0/examples$ protoc --java_out=./ addressbook.proto

生成例子源代码,代码位于com目录下。
将三、四步中的基础类库、例子源代码、AddPerson.java、ListPeople.java拷到protobufDemo项目即可运行ddPerson.java、ListPeople.java进行测试

Google Protocol Buffers 2.3.0 for java 快速开始相关推荐

  1. Google Protocol Buffers介绍

    Google Protocol Buffers(简称Protobuf),是Google的一个开源项目,它是一种结构化数据存储格式,是Google公司内部的混合语言数据标准,是一个用来序列化(将对象的状 ...

  2. Google Protocol Buffers 之.Net应用

    Google Protocol Buffers 之.Net应用 吴剑 2011-2-22 原创文章,转载必需注明出处:http://www.cnblogs.com/wu-jian/ 前言 最近接到一个 ...

  3. 还在用JSON? Google Protocol Buffers 更快更小 (原理篇)

    欢迎关注微信公众号「随手记技术团队」,查看更多随手记团队的技术文章.转载请注明出处 本文作者:丁同舟 原文链接:mp.weixin.qq.com/s/cyOHe1LS-- 背景 随手记客户端与服务端交 ...

  4. Google Protocol Buffers三两事【知识笔记】

    目录 一.亮点简介 二.使用指南1.定义.proto文件2.编译.proto文件3.读写数据 三.本文总结 四.参考资料 一.亮点简介 Protocol Buffers一种结构化数据存储格式.特点:快 ...

  5. Google Protocol Buffers浅析(四)

    本文作为结束篇,会稍微介绍下怎么反序列化GoogleBuffer数据,并在最后提供本系列文章中所用到的代码整理供下载. 上一篇文章介绍了怎样将数据序列化到了addressbook.data中,那么对于 ...

  6. Google Protocol Buffers和java字符串处理控制

    大多数的操作码被从夜晚复制.懒得敲. 直接在源代码和测试结果如下. serabuffer.proto档.使用下面的命令来生成java代码. protoc -I=./ --java_out=./ ser ...

  7. [转]Google Protocol Buffers 之.Net应用

    吴剑 2011-2-22 wu-jian.cnblogs.com 前言 最近接到一个跨平台的测试项目,服务端Linux,是Java开发的一系列Socket接口,客户端Windows,所以准备用.Net ...

  8. ProtoBuf(Google Protocol Buffers)—— 反射原理以及反射具体流程介绍

    ProtoBuf-- 反射原理解析 ProtoBuf-- 反射原理 1.反射原理 1.1.反射机制的背景 1.2.定义 1.3.反射原理关注的一些问题 1.4.反射原理的优势和应用 2.ProtoBu ...

  9. 是时候该了解一波Protocol Buffers了[Java]

    前言 Protocol Buffers,是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储.通信协议等方面. 它不依赖于语言和平台并且可扩展性极强.现阶段官方 ...

最新文章

  1. 使用PowerDesigner创建数据库表
  2. C/C++笔记(04):GB2312字符串和UTF-8之间的转换
  3. QDU第一届程序设计大赛——E到I题解法(非官方题解)
  4. sql order by 降序_数仓面试|四个在工作后才知道的SQL密技
  5. pythonddos防御_浅谈拒绝服务攻击的原理与防御(7):用Python和C实现syn flood攻击...
  6. 【Tomcat】初次配置Tomcat的那些糟心事
  7. 分享一个dapper简单封装
  8. Alert提示框插件
  9. Android知识点复习1(Activity与Fragment)
  10. Endnotex8 运行时出现错误 unknown error -0xA84c的解决办法
  11. 微信小程序选项卡 点击导航内容切换 滑动内容导航切换
  12. 基于ROS的导航框架
  13. 国家计算机2级考试模板,全国计算机二级考试《C++》笔试样卷
  14. UI设计师、平面设计师常用的网站大全,初学者必备,大家都在用!
  15. “回复TD即可退订” 是真的吗?
  16. 777. 在LR字符串中交换相邻字符
  17. 有没有测试手机硬件是否损坏的软件,怎么检测手机硬件故障
  18. 网络安全——Goolge Hacking的使用
  19. jquery each,grap遍历方法
  20. 火车头采集成功了,虽然是这么的牵强。

热门文章

  1. linux 源码 目录,Linux系统主要目录及kernel源代码目录
  2. E1 PCM复用设备能当程控交换机用吗?
  3. 【渝粤教育】国家开放大学2019年春季 0233-22T学前儿童语言教育 参考试题
  4. 【渝粤教育】 国家开放大学2020年春季 2245社会福利与保障 参考试题
  5. 【渝粤教育】电大中专就业指导 (3)作业 题库
  6. 【渝粤教育】电大中专新媒体营销实务 (13)作业 题库
  7. 哈罗单车怎么关锁还车_记者体验临沂共享单车定点还车 停错地方关不上锁
  8. 2. linux的日志文件在哪个目录,位于/var/log目录下的20个Linux日志文件
  9. 【LDPC系列2】基于MATLAB中LDPC编译码器对象的图像传输通信系统仿真(IEEE 802.16e标准协议基础矩阵)
  10. 【锁相环系列1】锁相环的基本原理