[英]Byte buffer in Java?
既然我發現在Java中不可能有無符號字節,並且本質上它們與int占用相同的內存,那么當通過數據包發送它們時,真的有區別嗎?
如果我通過tcp或udp 通過( Games.RealTimeMultiplayer.sendReliableMessage )發送Java字節,那么對我來說,比僅發送一個整數來表示一個無符號字節更有益嗎?
因為我發現在Java中不可能有無符號字節
這是不正確的。 有很多方法。 您甚至可以使用byte
來表示無符號字節。 您只需要在需要它的地方執行映射即可。 例如
byte b = ...
int unsigned = (b >= 0) ? b : (b + 256);
...並且從本質上講,它們占用與int相同的內存。
那也是不正確的。 對於byte
變量或字段,則為true。 但是, byte
數組中的byte
占據int
數組中整數空間的1/4。
...通過數據包發送時,真的有什么區別嗎?
嗯,是。 通過網絡(自然方式)發送的byte
占用通過網絡發送的int
位數的1/4。 如果要發送32位的“ 8位數量”,那么您正在浪費網絡帶寬。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.