国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

protobuf基于java入門

lentoo / 1713人閱讀

摘要:基于入門編寫文件將文件轉換為代碼下載該工具將加入到所在目錄命令行進入所在目錄執行序列化反序列化實例化添加數據小明小黃建立實體數據將數據寫入流中讀取流

protobuf基于java入門 1. 編寫protobuf文件——person.proto
package protobuf;
option java_package="com.sean.person";
option java_outer_classname = "PersonEntity";
message Person{
    required int32 id = 1;
    required string name = 2;
    optional string email=3;
    repeated string friends = 4;
}
2.將protobuf文件轉換為java代碼

下載protoc.exe該工具

將person.proto加入到protoc.exe所在目錄

命令行進入protoc.exe所在目錄

執行protoc ./person.proto --java_out=./

3.序列化 4.反序列化
public class Test {
    public static void main(String[] args) throws IOException {
        //實例化builder
        PersonEntity.Person.Builder personBuilder = PersonEntity.Person.newBuilder();
        //添加數據
        personBuilder.setId(1).setName("Sean").setEmail("123@qq.com").addFriends("小明").addFriends("小黃");
        //建立實體數據
        PersonEntity.Person msg = personBuilder.build();
        //將數據寫入流中
        ByteArrayOutputStream output = new ByteArrayOutputStream();
        msg.writeTo(output);

        byte[] bytes = output.toByteArray();
        System.out.println("person size: "+bytes.length);

        //讀取流
        ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
        PersonEntity.Person person = PersonEntity.Person.parseFrom(bis);
        System.out.println("person ID: " + person.getId());
        System.out.println("person name: " + person.getName());
        System.out.println("person email: " + person.getEmail());
        System.out.println("person friends: "+person.getFriendsList());
    }
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67199.html

相關文章

  • Python gRPC 入門

    摘要:消息格式有三個字段,在消息中承載的數據分別對應于每一個字段。所以應該為那些頻繁出現的消息元素保留之內的標識號。示例編譯這里我們用編譯一下,看得到什么文件名使用以下命令編譯生成了兩個文件此文件包含生成的和類。 gRPC 一開始由 google 開發,是一款語言中立、平臺中立、開源的遠程過程調用(RPC)系統。 本文通過一個簡單的 Hello World 例子來向您介紹 gRPC 。 gR...

    ideaa 評論0 收藏0
  • netty 基于 protobuf 協議 實現 websocket 版本的簡易客服系統

    摘要:結構作為服務端作為序列化數據的協議前端通訊演示地址服務端實現啟動類長連接示例主線程組從線程組請求的解碼和編碼把多個消息轉換為一個單一的或是,原因是解碼器會在每個消息中生成多個消息對象主要用于處理大數據流,比如一個大小的文件如果你直接傳輸肯定 結構 netty 作為服務端 protobuf 作為序列化數據的協議 websocket 前端通訊 演示 GitHub 地址 showImg(...

    wua_wua2012 評論0 收藏0
  • netty 基于 protobuf 協議 實現 websocket 版本的簡易客服系統

    摘要:結構作為服務端作為序列化數據的協議前端通訊演示地址服務端實現啟動類長連接示例主線程組從線程組請求的解碼和編碼把多個消息轉換為一個單一的或是,原因是解碼器會在每個消息中生成多個消息對象主要用于處理大數據流,比如一個大小的文件如果你直接傳輸肯定 結構 netty 作為服務端 protobuf 作為序列化數據的協議 websocket 前端通訊 演示 GitHub 地址 showImg(...

    Shihira 評論0 收藏0
  • Google Protobuf 編解碼

    摘要:優點在谷歌內部長期使用產品成熟度高跨語言支持多種語言包括和編碼后的消息更小更加有利于存儲和傳輸編解碼的性能非常高支持不同協議版本的前向兼容支持定義可選和必選字段的入門是一個靈活高效結構化的數據序列化框架相比與等傳統的序列化工具它更小更快更簡 Google Protobuf 優點: 在谷歌內部長期使用, 產品成熟度高. 跨語言、支持多種語言, 包括 C++、Java 和 Python....

    Eric 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<