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的剩余元素