【Java】ByteBuffer的duplicate、slice方法介绍及测试

  • 介绍duplicate、slice方法
  • 给demo程序验证

slice方法

slice的字面意思是切片,这里就是分割ByteBuffer。
主要功能是:创建一个从原始ByteBuffer的当前位置(position)开始的新ByteBuffer,并且其容量是原始ByteBuffer的剩余可消费元素数量( limit-position)。这个新ByteBuffer与原始ByteBuffer共享一段数据元素子序列,对原始ByteBuffer内容的修改会影响到新ByteBuffer,反之亦然。两个ByteBuffer的position,limit,mark值将会是独立。新ByteBuffer的position是0,capacity和limit是原始ByteBuffer的remaining字节数,mark值是undefined。slice分割出来的ByteBuffer也会继承readonly和isdirect属性。

ByteBuffer#slice的源码如下:

HeapByteBuffer:

    public ByteBuffer slice() {
   
        int pos 

你可能感兴趣的:(Java语言积累,java,开发语言)