5

たとえば、以下のようなメッセージ構造の要件が与えられた場合:

  • ヘッダー28バイト
    • コンシューマー2バイト
    • タイプ4バイト
    • ..。
  • ペイロード64バイト

それをより速く行うためのJavaのライブラリはありますか?

または、バイト配列とセッター/ゲッターを備えた別のクラスとして手動で作成する必要がありますか?

4

1 に答える 1

3

バイト配列を直接処理する代わりに、ByteBufferクラスのユーティリティメソッドを利用できる可能性があります。マルチバイト整数(getShort、putInt、putLongなど)を取得および設定するためのメソッドがあり、バイト順序(ビッグエンディアンまたはリトルエンディアン)を制御することもできます。

次に、ByteBufferを意味のあるメソッド名を持つ別のクラスでラップできます。例:

int getType() {
  return bb.getInt(2); // offset 2
}

void setType(int type) {
  bb.putInt(2, type);
}
于 2012-12-20T15:26:40.170 に答える