缓冲区的容量 是它所包含的元素的数量。缓冲区的容量不能为负并且不能更改。 缓冲区的限制 是第一个不应该读取或写入的元素的索引。缓冲区的限制不能为负,并且不能大于其容量。 缓冲区的位置 是下一个要读取或写入的元素的索引。缓冲区的位置不能为负,并且不能大于其限制。
对缓冲区的读写操作首先要知道缓冲区的下限、上限和当前位置。下面这些变量的值对Buffer类中的某些操作有着至关重要的作用:
- limit:所有对Buffer读写操作都会以limit变量的值作为上限。
- position:代表对缓冲区进行读写时,当前游标的位置。
- capacity:代表缓冲区的最大容量(一般新建一个缓冲区的时候,limit的值和capacity的值默认是相等的)。
clear方法









clear方法将缓冲区清空,一般是在 重新写缓冲区 时调用。
flip方法






rewind方法
1
public
final Buffer rewind()
{
2
position = 0;
3
mark = -1;
4
return this;
5
}

2

3

4

5

以上三种方法均使用final修饰,java.nio.Buffer的所有子类均使用同一种flip、clear和rewind机制。
本文转自:http://www.blogjava.net/sdjxsgb/archive/2013/06/18/400703.html