NIO原理详解(二)

了解NIO-Buffer

1.Buffer:本质上是数组,不过他同一实现了一些可控的操作和属性

2.Buffer的继承关系图

在这里插入图片描述

3.Buffer的属性,操作方法:

capacity:buffer数组的长度,容量
limit:buffer的可操作范围
mark:
position:当前的位置,下标 ,get,put获取buffer数据
get():方法,put方法
clean()方法:
filp()方法:固定状态,当前范围的数据不允许进行写入操作,只允许读操作,详细理解如下图:
在这里插入图片描述
在这里插入图片描述
每次buffer的filp()的操作后,limit = position,position = 0,可操作范围limit变成了当前position的位置,而position重新回到了0,当position = limit时,就不能再操作了,到达了操作极限。

4.他们之间的关系

0<=position<=limit<=capacity

5.缓冲区的分配

wrap(),创建buffer,使用数组创建,
子缓冲区
只读缓冲区
MappedByteBuffer:实现缓存与磁盘的同步

猜你喜欢

转载自blog.csdn.net/sinat_30594513/article/details/88989681