buffer是一个线性、有限元素序列,存放特定的基本数据类型。capacity是buffer可以容纳元素的数目limit表示从下标limit开始,后面的元素都不再读或写了position是下一个要读或写的元素下标实例对象本质上是一块可写可读的内存区域一旦读完了所有的数据,就需要清空缓冲区,让它可以再次被写入。有两种方式能清空缓冲区:调用clear()或compact()方法。clear()方法会清空整个缓冲区。compact()方法只会清除已经读过的数据。 //通道read到buffer,然后要get的时候用;或者put完,通道要把buffer write的时候 public final Buffer flip() { limit = position; position = 0; mark = -1; return this; } //重读 public final Buffer rewind() { position = 0; mark = -1; return this; }通过调用Buffer.mark()方法,可以标记Buffer中的一个特定position。之后可以通过调用Buffer.reset()方法恢复到这个position。equals()只比较Buffer中的剩余元素是否相等。compareTo()方法比较两个Buffer的剩余元素