Google Protocol Buffer是google 的一種數(shù)據(jù)交換的格式,它獨立于語言,獨立于平臺。google 提供了多種語言的實現(xiàn):java、c#、c++、go、python、js等,每一種實現(xiàn)都包含了相應(yīng)語言的編譯器以及庫文件。由于它是一種二進制的格式,比使用 xml 進行數(shù)據(jù)交換快許多。可以把它用于分布式應(yīng)用之間的數(shù)據(jù)通信或者異構(gòu)環(huán)境下的數(shù)據(jù)交換。作為一種效率和兼容性都很優(yōu)秀的二進制數(shù)據(jù)傳輸格式,可以用于諸如網(wǎng)絡(luò)傳輸、配置文件、數(shù)據(jù)存儲等諸多領(lǐng)域。
1.java_package屬性:在class生成時,會在相對路徑后加上這個屬性對應(yīng)的包名,在定義時需要與項目中你希望放Protobuf Class的路徑相同。 2.java_outer_classname屬性:這個屬性是在生成Class后的類名,下面包含的message都是這個class下的內(nèi)部類。
java_out:生成的java文件輸出目錄 后面的指定的是proto文件的地址
下列使用上面2.1proto文件中的UserInfo對象來進行舉例:
同時Protobuf的對象parseFrom方法還有通過InputStream和ByteString對象來生成對象的方式。
同時,protobuf的每個對象也可以序列化為InputStream和ByteString等。
|
新聞熱點
疑難解答
圖片精選