`

Protobuf学习笔记

 
阅读更多

1.下载protobuf源码和编译后的windows文件:

protobuf-2.4.1.zip
http://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.4.1.zip&can=2&q=
protoc-2.4.1-win32.zip
http://code.google.com/p/protobuf/downloads/detail?name=protoc-2.4.1-win32.zip&can=2&q=

2.解压文件,将protoc-2.4.1-win32.zip中解压出来的protoc.exe放到解压后的protobuf-2.4.1.zip

根目录中。文件路径为:

::解压路径\protobuf-2.4.1\protoc.exe。然后在CMD中执行:

protoc --java_out=java/src/main/java -I./src ./src/google/protobuf/descriptor.proto

这样会在解压的protobuf-2.4.1.zip的目录下的/java/src/main/java/com/google/protobuf中生

成DescriptorProtos.java文件,复制/java/src/main/java/下的com目录到你的eclipse工程中,

这样相当将Protobuf相关的jar包加入到项目中。

 

3.根据官网.proto例子生成相关的java代码。

官方给定的Protobuf的配置文件为:

package tutorial;
option java_package = "author.estone.protobuffer";
option java_outer_classname = "AddressBookProtos";
message Person {
  required string name = 1;
  required int32 id = 2;        // Unique ID number for this person.
  optional string email = 3;
  enum PhoneType {
    MOBILE = 0;
    HOME = 1;
    WORK = 2;
  }
  message PhoneNumber {
    required string number = 1;
    optional PhoneType type = 2 [default = HOME];
  }
  repeated PhoneNumber phone = 4;
}

// Our address book file is just one of these.
message AddressBook {
  repeated Person person = 1;
} 

使用官方编译的win32代码生成器,生成上述配置的java代码。

 

protoc.exe –java_out=./  BaseUserRelation.proto

这样就可以在自己的项目中使用该类和Protobuf协议了。

分享到:
评论

相关推荐

    Websocek笔记三 egret+skynet使用protobuf

    本文将深入探讨标题提及的“Websocket笔记三:egret + skynet使用protobuf”这一主题,结合描述中的源代码,我们将围绕Egret、Skynet以及Protocol Buffers(protobuf)这三个关键词展开讨论。 首先,Egret是一个...

    protobuf自己学习的个人笔记.md

    ### protobuf字段定义规则详解 #### 一、概述 在深入探讨`protobuf`字段定义规则之前,我们首先简要回顾一下`protobuf`的基本概念及其在软件开发中的应用价值。`protobuf`(Protocol Buffers)是由Google开发的一...

    caffe 学习笔记

    在本篇学习笔记中,我们通过CIFAR-10数据集来详细介绍Caffe框架的实际使用方法。 首先,CIFAR-10是一个广泛使用的小图像分类数据集,由60,000张32x32彩色图像组成,分为10个类别。数据集分为50,000张用于训练和10,...

    薛开宇caffe学习笔记完整版

    ### Caffe学习笔记知识点 #### 1. CIFAR-10 数据集介绍 CIFAR-10 是一个用于学术目的的常用数据集,它由60000张32x32像素的彩色图像组成,这些图像分为10个类别,每个类别包含6000张图片。具体而言,有50000张图片...

    Protocol Buffers 学习笔记

    **Protocol Buffers 学习笔记** Protocol Buffers(简称protobuf)是Google开发的一种数据序列化协议,用于结构化数据的序列化,类似于XML、JSON,但更小、更快、更简单。它允许开发者定义数据结构,然后生成相应的...

    RPC入门学习笔记

    例如,gRPC基于HTTP/2协议,支持Protobuf协议,性能高效;Thrift由Facebook开发,提供多语言支持;Dubbo是阿里巴巴开源的高性能RPC框架,广泛应用于国内互联网企业。 四、Hadoop与RPC 在Hadoop分布式计算环境中,...

    fdbus编译代码(涉及protobuf编译)-总结

    - [FDBUS学习笔记](https://blog.csdn.net/sclzmmm/article/details/122009930) 通过以上步骤,您可以成功地完成fdbus项目的编译工作,并利用protobuf进行数据序列化处理,进而实现进程间通信的功能。希望本指南...

    ONNX模型相关学习笔记

    ONNX 模型相关学习笔记 ONNX 模型介绍 ONNX(Open Neural Network Exchange)是一种开放的神经网络交换格式,用于提供跨框架的模型中间表达框架,用于模型转换和部署。ONNX 使用 Protobuf 二进制格式来序列化模型,...

    Caffe学习笔记1

    这篇学习笔记主要关注Caffe的基本结构、安装过程和核心组件。 首先,让我们来看一下Caffe的安装。安装Caffe通常遵循官方网站的教程,但在某些操作系统如OS X 10.9和Ubuntu 14.04上可能会遇到一些挑战。主要的依赖项...

    caffe学习笔记完整版

    此外,训练完成后,模型的参数会被保存在二进制protobuf格式的文件中,可用于后续在新数据上的推理应用。 5. 使用 CPU 进行训练 Caffe 支持在 CPU 和 GPU 上进行训练,通过修改 cifar*solver.prototxt 文件中的 ...

    《Jaxb2 转换XML文档》学习笔记

    然而,对于内存有限的环境,可能需要考虑其他序列化库,如protobuf或msgpack。 11. **与Spring集成** 在Spring框架中,JAXB2可以方便地与其他组件(如REST服务)集成,通过配置自动处理XML的序列化和反序列化。 ...

    Hadoop学习笔记(一)Hadoop快速入门:3.编译

    1. 前期准备工作1.1 CentOS联网配置CentOS能连接外网。Linux虚拟机pingwww.baidu.com是畅通的注意...ant-1.9.9-bin.tar.gz(build工具,打包用的)(4)apache-maven-3.0.5-bin.tar.gz(5)protobuf-2.5.0.tar.gz(序列

    gworld:golang学习笔记

    go get github.com/gogo/protobuf/proto go get github.com/gogo/protobuf/protoc-gen-gogofaster go get github.com/gogo/protobuf/gogoproto protoc --gogofaster_out =。 login.proto 用于工具\出口商 去获取...

    一个基于Java的开源游戏服务器框架实现,使用了Netty、ProtoBuf、Disruptor等.zip

    学习笔记:整理了Java语言在游戏开发中的核心知识点和常用技术,方便你随时查阅和学习。 适用人群: 这份资源包适用于所有对Java游戏开发感兴趣的朋友,无论你是计算机专业的学生,还是希望业余时间尝试游戏开发的...

    Hadoop 讲义 基础篇

    ### Hadoop讲义基础篇知识点概述 #### 必学必会的Shell命令 Shell命令是进行系统管理和...通过对以上知识点的学习,我们可以更好地理解和掌握Hadoop相关的基础知识和技术栈,为进一步深入学习Hadoop打下坚实的基础。

    workerman-game:workerman游戏服务器

    workerman学习笔记Workerman是一款纯PHP开发的开源的高性能PHP socket 服务器框架!官网地址: Github地址:学习workerman目的学习php socket知识,了解Tcp和Udp协议想用php搭建一个php版本的游戏服务器项目介绍通讯...

    神经网络aWeb-mas开发笔记

    综上所述,"神经网络aWeb-mas开发笔记"可能涵盖了从构建Web界面到实现神经网络模型训练和部署的全过程,涉及到的技术点广泛且深入,对于理解和实践JavaWeb结合深度学习的开发具有很高的参考价值。如果能详细阅读并...

    caffe配置笔记

    在深度学习领域,Caffe是一个广泛使用的框架,主要用于图像识别和处理任务。本笔记将详述在Ubuntu 14.04系统下配置Caffe的步骤和注意事项,包括环境搭建、CUDA的安装以及相关依赖的解决。 首先,确保你的操作系统是...

    caffe安装笔记.docx

    - `libprotobuf-dev`, `libleveldb-dev`, `libsnappy-dev`, `libopencv-dev`, `libboost-all-dev`, `libhdf5-serial-dev`, `libgflags-dev`, `libgoogle-glog-dev`, `liblmdb-dev`, `protobuf-compiler`:这些都是 ...

    Fast RCNN ubuntu下安装笔记1

    Fast RCNN是由微软研究院的Ross Girshick提出的深度学习目标检测框架,其相比于RCNN有着显著的速度提升,测试速度可达到200倍。本文将详细介绍在Ubuntu操作系统下安装Fast RCNN的过程。 首先,我们需要进行必要的...

Global site tag (gtag.js) - Google Analytics