不学无数——JAVA中NIO再深入
JAVA中NIO再深入 在上一章节的JAVA中的I/O和NIO我们学习了如何使用NIO,接下来再深入了解一下关于NIO的知识。 缓冲器内部的细节 Buffer由数据和可以高效地访问及操作这些数据的四个索引组成。这四个索引是 mark:标记,就像游戏中设置了一个存档一样,可以调用reset()方法进行回归到mark标记的地方。 position:位置,其实缓冲器实际上就是一个美化过的数组,从通道中读取数据就是放到了底层的数组。所以其实就像索引一样。所以positon变量跟踪已经写了多少数据。 limit:界限,即表明还有多少数据需要取出,或者还有多少空间能够写入。 capacity:容量,表明缓冲器中可以存储的最大容量。 在缓冲器中每一个读写操作都会改变缓冲器的状态,用于反应所发生的变化。通过记录和跟踪这些变化,缓冲器就能够内部地管理自己的资源。下面是用于设置和复位索引以及查询其索引值的方法 方法名 解释 capacity() 返回缓冲器的容量 clear() 清空缓冲器,将position设置为0,limit设置容量。调用此方法复写缓冲器 flip() 将limit设置为positio...