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

clear方法将缓冲区清空,一般是在重新写缓冲区时调用。
flip方法
public final Buffer
flip() {
limit = position;
position = 0;
mark = -1;
return this;
}rewind方法
1
public final Buffer
rewind() {
2
position = 0;
3
mark = -1;
4
return this;
5
}
public final Buffer
rewind() {2
position = 0;3
mark = -1;4
return this;5
}以上三种方法均使用final修饰,java.nio.Buffer的所有子类均使用同一种flip、clear和rewind机制。
本文转自:http://www.blogjava.net/sdjxsgb/archive/2013/06/18/400703.html
本文详细介绍了Java NIO中的缓冲区概念,包括缓冲区的容量、限制和位置等核心属性,以及clear、flip和rewind三个关键方法的作用与用法。
2307

被折叠的 条评论
为什么被折叠?



