簡體   English   中英

Java中的字節緩沖區?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM