При изучении ByteBuffer класса я начал думать о массиве завернутых ByteBuffer, которые могут быть построены следующим образом:Что такое начальный «режим» ByteBuffer?
byte data[] = new byte[10];
// Populate data array
ByteBuffer myBuffer = ByteBuffer.wrap(data);
int i = myBuffer.getInt();
Что, я думал, может получить первый 4 байта моего байтового массива как целочисленное значение. Однако по мере того, как я изучал дальше, мне показалось, что у ByteBuffer есть два режима, которые считываются и записываются, и между ними можно использовать , используя метод flip()
. Однако, поскольку flip в основном является переключателем, он предполагает, что он знает, что первоначальное значение значительно перевернулось между состояниями чтения и записи.
Каково определение начального состояния ByteBuffer?
- пишите?
- читать?
- Функция того, как она была создана (например, allocate vs wrap)?