1.数组
clear 和 compact 的区别 clear 会将未读取的数据遗忘,可是compact不会遗忘,而是打包整合在一块儿工具
若是Buffer中仍有未读的数据,且后续还须要这些数据,可是此时想要先先写些数据,那么使用compact()方法ci
假设buffer的容量是10 ,写入四个。读取2个,clear会致使position成为0,可是compact会将position设置为2.打印buffer的关键参数为:rem
position:2#remaining:8#limit:10#capacity:10########it
clear的结果是:position:0#remaining:10#limit:10#capacity:10########io
2.equals和compareTo打包
当知足下列条件时,表示两个Buffer相等:方法
如你所见,equals只是比较Buffer的一部分,不是每个在它里面的元素都比较。实际上,它只比较Buffer中的剩余元素。im
compareTo:数据
compareTo()方法比较两个Buffer的剩余元素(byte、char等), 若是知足下列条件,则认为一个Buffer“小于”另外一个Buffer:
rewind:
Buffer.rewind()将position设回0,因此你能够重读Buffer中的全部数据。limit保持不变,仍然表示能从Buffer中读取多少个元素(byte、char等)。
ByteBuffer.wrap
相似于一个工具,快速的将一个数组转换为ByteBuffer