用了很久,写一些随笔。
Buffer是javaNio中的一个主要对象,用来向channel发送数据。
buffer中有三个概念需要记着:
position:现在指针所在的位置。
limit:可以读写的最大范围。
capacity:总的容量大小。
几个常用的方法:
flip():将buffer由写模式转换到读模式。在读模式下,可以读取之前写入到buffer的所有数据。其实就是limit=position,positon=0.
rewind():重读缓冲区。positon=0.
mark()和reset():mark是将现在的position做上一个标记,reset是将positon指向这个标记。
clear():将缓冲区清空,进入到写模式。position=0,limit=capacity.
remaining() : 一句代码return limit - position;
hasRemaining() : 一句代码return limit > position;