关于nio 中的那些事

对于这个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 不是我们平常的取值和设值一样,他会操纵一些属性的变化。


猜你喜欢

转载自blog.csdn.net/tiandiyinghun/article/details/49181041