Netty的ByteBuf是JDK中ByteBuffer的升级版,提供了NIO buffer和byte数组的抽象视图。

ByteBuf的主要类集成关系:

大学生就业培训,高中生培训,在职人员转行培训,企业团训

(图片来自Netty权威指南,图中有一个画错的地方是PooledByteBuf中的最后一个子类应该是PooledUnsafeDirectByteBuf)


从继承关系可以看出AbstractReferenceCountedByteBuf的子类分为两类:PooledUnpooledByteBuf

Pooled ByteBuf是基于对象池的ByteBuf(会被缓存),Unpooled则是普通的ByteBuf对象。

无论是否基于内存池的ByteBuf,它的子类有分为DirectByteBuf和HeapByteBuf分别表示在堆外内存分配的缓冲区和在堆内存的缓冲区。

堆内存缓冲区的特点是分配和回收速