Мне известно, что flip() устанавливает текущую позицию буфера в 0 и устанавливает предел для предыдущей позиции буфера, тогда как перемотка назад() просто устанавливает текущую позицию буфера на 0.
В следующем коде, либо я использую rewind() или flip(), я получаю тот же результат.
byte b = 127;
bb.put(b);
bb.rewind();//or flip();
System.out.println(bb.get());
bb.rewind();// or flip();
System.out.println(bb.get());
Не могли бы вы предоставить мне реальный пример, где разница в этих двух методах действительно имеет значение? Заранее спасибо. EDIT: Я нашел решение в этой ссылке, оно очень хорошо объяснено и подробно описано для полного понимания использования классов буфера и каналов.