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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java实现结构体,让字节流封送简单起来

發布時間:2024/1/23 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java实现结构体,让字节流封送简单起来 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

和C/C++不同,Java中沒有結構體,聯合體。這是Java作為高級語言的進步,但也使得它在進行網絡字節流封送上顯得捉襟見肘。

這里所指的是在進行網絡編程,串口編程等需要和某些C語言中結構體形式定義的協議接口進行通訊時,Java由于缺乏結構體和字節數組之間的有效轉換方法,所帶來的編程上的困境。

按照通常的想法,我們需要自己去手動的一個字節,一個字節的拼湊,來實現C語言中結構體定義的數據包。在面對大量接口的時候,這樣做顯然絕非是可行的辦法。造成這個問題的根本原因是,指針這一對內存在字節量級操作的語法特性在Java當中是不成立的。其結果就是在C語言里面通過填充結構體來完成的字節流封送編程變得復雜。

既然這是一個相當普遍的問題,那么一定是有先人嘗試去解決過的。事實上卻是是這樣,通過一番努力,終于發現了JavaStruct和Javolution現成的兩個解決方案。我們不妨拿來為我所用。

JavaStruct

http://code.google.com/p/javastruct/wiki/HowToUseJavaStruct

這個實現比較輕量級,POPO的方式,還不支持聯合體,但是聯合體的問題,在編程中一般是可以避開的。

Javolution

http://javolution.org/

這個類庫比較龐大,對結構體和聯合體都有支持。


更詳細的操作細節,可以參考以上兩個鏈接中給出的內容。有了它們,數據封送在Java中也變得簡單起來了,不妨試一下吧。

總結

以上是生活随笔為你收集整理的Java实现结构体,让字节流封送简单起来的全部內容,希望文章能夠幫你解決所遇到的問題。

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