固定長の ByteBuffer があり、1 バイト (または複数のバイト) をバッファーの先頭に「シフト解除」したいと同時に、バッファーの末尾からバイトを「ポップ」したい、つまり、固定長でデータをストリーミングするのとほぼ同じです。バッファ。バックのポップされたバイトは削除されるだけです。
私はこのすべてのバッファリングに不慣れで、これを達成するための最良の方法について混乱しています (パフォーマンスが重要です)。とコマンドを使用するByteBuffer
のが最善ですか? たとえば、バイトを「シフト解除」して「ポップ」するには、次のようにします。slice()
put
ByteBuffer buffer = getMyBuffer();
buffer.position(0);
buffer.limit(buffer.capacity() - 1);
ByteBuffer slicedBuffer = buffer.slice();
buffer.position(0);
buffer.put(newByte);
buffer.put(slicedBuffer);
これは通常、これが行われる方法ですか?それとも初心者なので、明らかな何かが欠けていますか?ありがとう。