文章目录
Pre
接下来我们来看下缓冲区内部细节
Overview
接下来将介绍 NIO 中两个重要的缓冲区组件:状态变量和访问方法 (accessor)
状态变量是"内部统计机制"的关键。每一个读/写操作都会改变缓冲区的状态。通过记录和跟踪这些变化,缓冲区就可能够内部地管理自己的资源。
在从通道读取数据时,数据被放入到缓冲区。在有些情况下,可以将这个缓冲区直接写入另一个通道,但是在一般情况下,您还需要
- 查看数据。这是使用 访问方法 get() 来完成的。
- 同样,如果要将原始数据放入缓冲区中,就要使用访问方法 put()。
状态变量
概述
可以用三个值指定缓冲区在任意时刻的状态:
- position
- limit
- capacity
这三个变量一起可以跟踪缓冲区的状态和它所包含的数据。
我们将详细分析每一个变量,还要介绍它们如何适应典型的读/写(输入/输出)进程。在这个例子中,我们假定要将数据从一个输入通道拷贝到一个输出通道。