JAVA NIO 中 Buffer的compact意义

如官方文档所描述:

 

 

在缓冲区中,position与limit之间有字节的话,字节将被复制到缓冲区的开头。也就是说,索引【p=position()】处的字节被复制到索引【0】 处,索引【p+1】处的字节被复制到索引【1】,依此类推,直到索引【limit()-1】处的字节被复制到索引【n=limit()-1-p】。然后将缓冲区的位置设置为【n+1】,并将其limit设置为其capacity。

如果定义标记将被丢弃。

缓冲区的position设置成复制的字节数,而不是零,因此调用此方法后可以立即调用另一个相对put方法

在从缓冲区写入数据后调用此方法,避免写入不完整。 

posted @ 2020-07-22 20:56  鸭梨果园长  阅读(537)  评论(0编辑  收藏  举报