Protobuf

1.maven
<dependency>
  <groupId>com.google.protobuf</groupId>
  <artifactId>protobuf-java</artifactId>
  <version>3.3.0</version>
</dependency>
2.编辑person_entity.proto文件
syntax = "proto2";

option java_package = "com.boomsecret.protobuf.proto";
option java_outer_classname = "PersonEntity";

message person_entity {
    required int32 id = 1;  // ID
    required string name = 2;   // 姓名
    optional string email = 3;  // 邮箱
}
3.下载protoc.exe,并生成.java文件
https://github.com/google/protobuf/releases
protoc.exe --java_out=.\..\src\main\java .\proto\person_entity.proto

(com.boomsecret.protobuf.proto.PersonEntity.java)
4.小李子
public class ProtoBufDemo {
    public static void main(String[] args) {
        PersonEntity.person_entity.Builder builder = PersonEntity.person_entity.newBuilder();
        builder.setId(100);
        builder.setName("jack");
        builder.setEmail("jack@email.com");

        person_entity personEntity = builder.build();
        System.out.println(personEntity.toString());

        byte[] bytes = personEntity.toByteArray();
        for (byte index : bytes) {
            System.out.print(index);
        }
        System.out.println();

        try {
            person_entity parsePersonEntity = person_entity.parseFrom(bytes);
            System.out.println(parsePersonEntity);
        } catch (InvalidProtocolBufferException e) {
            e.printStackTrace();
        }
    }
}
5.总结
protobuf比xml和json效率高很多,具体可以去了解下,这里不做详细介绍。

推荐阅读更多精彩内容

  • Protobuf是什么? 官网解释 Protobuf 是Google为序列化数据结构提供的语言无关,平台无关,可扩...
    邝健强阅读 1,875评论 0 4
  • protobuf初见 今天由于偶然的机会,了解到Google的protobuf,貌似功能很强大。主要作用是自动生成...
    跨界师阅读 437评论 0 0
  • 前言 之前看zk源码就有提到,最近看《netty权威指南》又看到了这个东西,就初步研究下。本篇只讲解demo的准备...
    赤子心_d709阅读 545评论 0 1
  • 什么是protobuf 简单讲就是一种类似于json,xml的通用数据交换格式,但是效率更高,更省空间,目前官方支...
    Angelo严阅读 1,816评论 0 1
  • ProtoBuf: 是一套完整的 IDL(接口描述语言),出自Google,基于 C++ 进行的实现,开发人员可以...
    谢烟客阅读 17,652评论 3 16
  • 2016 遗憾,岁月扛不起的伤 把朋友圈翻了个底朝天,翻出了2016的年末总结,淡淡的文字,诉说着淡淡的忧伤,那些...
    若水女子2017阅读 195评论 0 6
  • 本篇文章想要理清的问题是:产品经理这个靠感觉吃饭的职业,是否真的有提升感觉的方法?如何不靠模糊的感觉来培养产品感?...
    小A的思考阅读 950评论 0 9
  • 还是在少年 偶然的一天 一株鲜花绽放 你就伫立在花前 你告诉我 这是牡丹 我赏着花 也赏着你的笑脸 从此 成了我的...
    童心_8c86阅读 317评论 16 29
  • 人生有好的岔路口,每一条对应的都是不同的结局!也许最后的归宿都是一个地方,但这其中的酸甜苦辣却截然不同! ...
    无名小妞阅读 27评论 0 0