Netty 净4缓冲区池化与非池化

Netty 净4缓冲区池化与非池化,netty,Netty,ByteBuf中池与非池、直接与堆的区别是什么 比如,Poolled在接收到的消息上下文中意味着什么,因为像HttpRequest这样的对象是从HttpRequestDecoder中的ByteBuf创建的,然后在管道的最后一个处理程序中释放的?在这种情况下,内存池是什么?池内存管理与非池内存管理有何不同?不同之处在于,对于非池内存管理,Netty将在每次调用ByteBufAllocator.buffer时分配一个新的缓冲区,这会带来一些开销,尤其是对于直接缓冲区。当您使用池式缓冲区时,Netty

ByteBuf中池与非池、直接与堆的区别是什么


比如,Poolled在接收到的消息上下文中意味着什么,因为像HttpRequest这样的对象是从HttpRequestDecoder中的ByteBuf创建的,然后在管道的最后一个处理程序中释放的?在这种情况下,内存池是什么?池内存管理与非池内存管理有何不同?

不同之处在于,对于非池内存管理,Netty将在每次调用ByteBufAllocator.buffer时分配一个新的缓冲区,这会带来一些开销,尤其是对于直接缓冲区。当您使用池式缓冲区时,Netty将尝试将缓冲区池化,从而最大限度地减少缓冲区分配和释放的开销。

这是否意味着Netty存储池式缓冲区的引用以重用它们,而不会被垃圾收集?哦,你是Norman Maurer!!)现在正在读你的书,非常好的书)你好!一个相关的问题-与使用非OLED相比,使用池缓冲区会导致泄漏吗?