NIO学习笔记(2)--缓冲区

   1、一个Buffer对象是固定数量的数据的容器。其作用是一个存储器,或者分段运输区,在这里数据可以被存储并在之后用于检索。

  概念上,缓冲区是包在一个对象内的基本数据元素数组。Buffer类比一个简单的数组的优点是它将关于数据的数据内容和信息包含在一个单一的对象中。Buffer类以及它专有的子类定义了一个用于处理数据缓冲区的API。

 2、缓冲区的四大属性

  1、容量(capacity):缓冲区能容纳的数据元素的最大数量。这一容量在缓冲区创建时被设定,并且永远不能被改变。

      2、上界(limit):缓冲区的第一个不能被读或写的元素。或者说,缓冲区中现存元素的计数。

      3、位置(position):下一个要被读或写的元素的索引。位置会自动由相应的get()和put()函数更新。

      4、标记(mark):一个备忘位置。调用mark()来设定mark=position。调用reset()设定position=mark。标记在设定前是未定义的。

  这四个属性之间总是遵循以下关系:

      0<=mark<=position<=limit<=capacity

  新建一个buffer,如图:

 
NIO学习笔记(2)--缓冲区_第1张图片

你可能感兴趣的:(学习笔记)