Java 结构体之 JavaStruct 使用教程一 初识 JavaStruct
Javastruct 是什么
簡而言之,Javastruct 是一個第三方庫,用于像處理 C 或者 C++ 結構體那樣處理 java 對象。也即利用 Javastruct 可以在 java 上實現類似于結構體的功能和操作。
Javastruct 的用途
在 java 或者 Android 應用程序與一些嵌入式設備通訊或者C、C++ 應用程序通訊時,比如網絡、無線、藍牙、串口通訊等場景,由于實際傳輸時我們希望在通訊時使用自定義的協議格式,這樣就必須進行字節流的處理。比如:協議格式為:“包頭 + 命令碼 + 長度 + 數據 + 校驗 + 包尾“ 這種格式,使用 java 默認的方法就需要每條協議設置或解析每個 byte,十分繁瑣。這時,會很懷念 C 語言的結構體和指針,這回極大節省我們的代碼邏輯和工作量。這就是我要使用并介紹 JavaStruct 的原因了。除此之外,該庫還可以用作一個簡單但空間利用高效的序列化方法。
JavaStruct 庫支持原語、數組、C字符串及嵌套類等。同時支持大端和小端字節序。?Javastruct 也可以使用 ArrayLengthMarker 注釋來處理其他域中定義長度的域。 在后面的例程和文檔中會逐步涉及到。
Javastruct 的性能
對于簡單的類,JavaStruct 要比 Java 序列化更快速,對于復雜和嵌套的類,通常與 Java 序列化性能相同。通常 JavaStruct 產生小2到3倍的輸出結果。
JavaStruct 未來工作
1. 更好的命名和統一的外觀類
2. 詳細的文檔
3. 基于 ByteBuffer 的結構體序列化(目前是基于stream流的方式)
4.?更好的性能
5.?更多單元測試
6.?數據對齊支持
7.?位域
8.?Union 聯合體
運行條件
任何具有 Java 5 或者更高的 JVM 的系統
其他類似項目
?Javolution?也有很好的結構體實現,Javolution 結構體使用特殊類來表示域,JavaStruct 有不同途徑并且使用 POJO 和 Java 5 注釋。
關于 JavaStruct 應用的文章系列,可以移步至如下鏈接:
1. 《Java 結構體之 JavaStruct 使用教程<一> 初識 JavaStruct》
2. 《Java 結構體之 JavaStruct 使用教程<二> JavaStruct 用例分析》
3. 《Java 結構體之 JavaStruct 使用教程<三> JavaStruct 數組進階》
總結
以上是生活随笔為你收集整理的Java 结构体之 JavaStruct 使用教程一 初识 JavaStruct的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js 值太大自动转换bignumber
- 下一篇: Java 结构体之 JavaStruct