日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中Protobuf的使用实例

發布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中Protobuf的使用实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?最近公司項目中有埋點的需求,采用的是protocolbuffer的數據格式,所以去研究了protobuf的使用,在此記錄一下

1.什么是protocolbuffer?

protocol buffer是google的一個開源項目,它是用于結構化數據串行化的靈活、高效、自動的方法,例如XML,不過它比xml更小、更快、也更簡單。你可以定義自己的數據結構,然后使用代碼生成器生成的代碼來讀寫這個數據結構。你甚至可以在無需重新部署程序的情況下更新數據結構。

2.使用

2.1下載protoc-2.4.1-win32.zip,http://download.csdn.net/detail/tiandiwuya/9792888

2.2下載?一個protobuf-Java-2.4.1.jar文件,http://download.csdn.net/detail/tiandiwuya/9792889

2.3.用記事本編寫一個.proto文件:

如:我編寫的是msg.proto

package protobuf;
option java_package = "com.sq.protobuf";
option java_outer_classname = "FirstProtobuf";
message testBuf ?{
? required int32 ID = 1;
? required string Url = 2;
}
將其放在與剛解壓的protoc.exe同級目錄中。
2.4使用如下命令編譯這個文件:

protoc.exe --java_out./ msg.proto


2.5將生成的FirstProtobuf.java文件引入eclipse,把下載的protobuf-java-2.4.1.jar也引入工程

2.6建立測試文件

public class test2 {public static void main(String[] args) {//序列化FirstProtobuf.testBuf.Builder builder = FirstProtobuf.testBuf.newBuilder();builder.setID(117);builder.setUrl("bangde");// testBufFirstProtobuf.testBuf info = builder.build();byte[] result = info.toByteArray();System.out.println("反序列化過程:"+result.toString());//反序列化過程try {FirstProtobuf.testBuf testBuf = FirstProtobuf.testBuf.parseFrom(result);System.out.println("反序列化過程:"+"\n"+testBuf);} catch (InvalidProtocolBufferException e) {e.printStackTrace();}} } 結果:



總結

以上是生活随笔為你收集整理的java中Protobuf的使用实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。