Netty 4.1:ioBuffer v.s. directBuffer v.s. heapBuffer

时间:2016-07-28 13:48:48

标签: netty

我创建的ByteBuf通过其Channelwrite方法发送到writeAndFlush

据我所知,在这种情况下,直接缓冲区优于堆缓冲区,因为后者由JVM管理,需要在发送时复制到直接缓冲区。

直接缓冲区不由JVM管理,因此分配大量直接缓冲区可能导致OutOfMemoryError正确?

我注意到还有另一种方法ByteBufAllocator.ioBuffer() 该文件说

  

分配ByteBuf,最好是适合的直接缓冲区   I / O。

我想它的运作方式如下:
ByteBufAllocator管理两个池,一个池用于直接缓冲区,另一个池用于堆缓冲区。如果直接缓冲区中没有足够的空间,则从堆缓冲区分配。 我是对的吗?

ByteBufAllocator如何确定直接缓冲区的池大小?

0 个答案:

没有答案