JAVA NIO 中 Buffer的compact意义
如官方文档所描述:
在缓冲区中,position与limit之间有字节的话,字节将被复制到缓冲区的开头。也就是说,索引【p=position()】处的字节被复制到索引【0】 处,索引【p+1】处的字节被复制到索引【1】,依此类推,直到索引【limit()-1】处的字节被复制到索引【n=limit()-1-p】。然后将缓冲区的位置设置为【n+1】,并将其limit设置为其capacity。
如果定义标记将被丢弃。
缓冲区的position设置成复制的字节数,而不是零,因此调用此方法后可以立即调用另一个相对put方法。
在从缓冲区写入数据后调用此方法,避免写入不完整。
寒江孤影,江湖故人,相逢何必曾相识