Protobuf

Protobuf是一种灵活高效可序列化的数据协议,相于XML,具有更快、更简单、更轻量级等特性。支持多种语言,只需定义好数据结构,利用Protobuf框架生成源代码,就可很轻松地实现数据结构的序列化和反序列化。一旦需求有变,可以更新数据结构,而不会影响已部署程序。

.proto文件:

option optimize_for = LITE_RUNTIME; // app 请用这个优化选项, 代码库会更精简, 代价是损失一些辅助信息
package com.fenbi.live.proto.userdata.conan.common;
option java_package = "com.fenbi.live.proto.userdata.conan.common"; //定义了Protobuf自动生成类的包名
option java_outer_classname = "UserDatasProto"; //定义了Protobuf自动生成类的类名
message SystemMessageProto {
    optional int64 id = 1;
    optional int32 type = 2;
    optional string message = 3;
}

.proto文件转.java文件步骤:

https://repo1.maven.org/maven2/com/google/protobuf/protoc/
下载相应版本的.exe文件,建议2.5.0版本即可

chmod +x protoc-2.5.0-osx-x86_32.exe
给下载文件提供执行权限

mkdir YYY
./protoc-2.5.0-osx-x86_32.exe XXX.proto --java_out="./YYY"

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 之前看zk源码就有提到,最近看《netty权威指南》又看到了这个东西,就初步研究下。本篇只讲解demo的准备...
    赤子心_d709阅读 3,860评论 0 1
  • 插件由来 之前在学习GRPC 微服务开发时,学习到了ProtoBuf 这个序列化协议,但是ProtoBuf 编译的...
    litesky阅读 5,670评论 0 7
  • Protobuf是什么? 官网解释 Protobuf 是Google为序列化数据结构提供的语言无关,平台无关,可扩...
    邝健强阅读 7,305评论 0 4
  • 简介 protobuf是google提出的一种于语言无关的序列化协议,经常用于RPC之间的通信协议,其具有简单、编...
    落月摇情满江树月阅读 5,839评论 0 4
  • 0、什么是protoBuf protoBuf是一种灵活高效的独立于语言平台的结构化数据表示方法,与XML相比,pr...
    Javen205阅读 12,124评论 1 11