说明
io.netty.buffer.ByteBuf类有一个函数isContiguous(),可以用来判断ByteBuf的实现是否被一块单独的内存区域支撑。
当被一块单独的内存区域支撑时,结果返回true。
对于复合buffer的实现,这个函数返回false。
示例
package com.thb;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.CompositeByteBuf;
import io.netty.buffer.Unpooled;
public class Test {
public static void main(String[] args) {
// 创建一个ByteBuf
ByteBuf buf = Unpooled.buffer();
System.out.println("buf is isContiguous: " + buf.isContiguous());
// 创建一个CompositeByteBuf
CompositeByteBuf comBuf = Unpooled.compositeBuffer();
System.out.println("comBuf is isContiguous: " + comBuf.isContiguous());
}
}
运行输出:
buf is isContiguous: true
comBuf is isContiguous: false