对于这个bytebuffer 类 ,他其实就是一个数组
bytebuffer.flip() 这是一个回绕方法 (为准备写入做准备)
1是将currentPoint 移到 0
2是将endPointer 移到有效的数据结尾
bytebuffer 中有几个属性,其中两个很重要。limit 和postion 。position 开始在0,填充数据后等于数据的长度,而limit 是整个缓冲可用的长度。
bytebuffer.flip();之后 position 直接变为了0 ,而limit直接等于了position
这样就可以在position 和 limit之间的数据就是我们需要用到的数据了,但是position和limit 是bytebuffer 在put和get 时需要的属性,所以在使用后还要还原。
bytebuffer 的get 和 put 不是我们平常的取值和设值一样,他会操纵一些属性的变化。