Netty的ByteBuf是JDK中ByteBuffer的升級版,提供了NIO buffer和byte數(shù)組的抽象視圖。

ByteBuf的主要類集成關(guān)系:

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

(圖片來自Netty權(quán)威指南,圖中有一個畫錯的地方是PooledByteBuf中的最后一個子類應(yīng)該是PooledUnsafeDirectByteBuf)


從繼承關(guān)系可以看出AbstractReferenceCountedByteBuf的子類分為兩類:PooledUnpooledByteBuf。

Pooled ByteBuf是基于對象池的ByteBuf(會被緩存),Unpooled則是普通的ByteBuf對象。

無論是否基于內(nèi)存池的ByteBuf,它的子類有分為DirectByteBuf和HeapByteBuf分別表示在堆外內(nèi)存分配的緩沖區(qū)和在堆內(nèi)存的緩沖區(qū)。

堆內(nèi)存緩沖區(qū)的特點(diǎn)是分配和回收速