ByteBuf
ByteBuf是对nio中ByteBuffer的增强。主要的增强点就是ByteBuf它可以动态调整容量大小,当要存储的数据超过了当前容量的上限就会进行扩容,扩容的上限是多少?扩容机制是什么?请跟着本文往下看。对了,还有一个增强就是byteBuf不用和ByteBuffer一样进行读写模式的切换,ByteBuffer中读与写是共用一个指针,而ByteBuf既有读指针,也有写指针。
创建
ByteBufAllocator类中有一个默认实现,我们可以使用这个默认实现来创建一个Bytebuf
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufAllocator;
public class ByteBufCreateTest {
public static void main(String[] args) {
ByteBuf buffer = ByteBufAllocator.DEFAULT.buffer();
}
}
这里可以指定ByteBuf的容量,可以传一个int,如果不指定的话默认是256。
这里比nio好的一个地方就是,netty的Bytebuf容量的可以动态扩容的,而nio的ByteBuffer指定了就不能动了。
然后往ByteBuf中添加数据,验证是否会扩容
public