如何分配和释放Netty直接缓冲区内存?

如何分配和释放Netty直接缓冲区内存?,netty,bytebuffer,http2,Netty,Bytebuffer,Http2,下面是我使用Netty Unmooled.directBuffer的代码。我必须显式释放内存还是Netty这样做 public ByteBuf Payload() { int totalLength=0; for(ByteBuf byteBuf:payload){ totalLength+=byteBuf.readableBytes(); } **ByteBuf byteBuf= Unpooled.directBuffer(totalLength,totalL

下面是我使用Netty Unmooled.directBuffer的代码。我必须显式释放内存还是Netty这样做

public ByteBuf Payload() {
    int totalLength=0;
   for(ByteBuf byteBuf:payload){
       totalLength+=byteBuf.readableBytes();
   }
 **ByteBuf byteBuf= Unpooled.directBuffer(totalLength,totalLength+10);**
    for(ByteBuf byteBuf1:payload){
        byteBuf.writeBytes(byteBuf1);
    }
    System.out.println("content :"+byteBuf.readableBytes());
    return byteBuf;
}

这取决于您的输出管道。通常,您必须显式地释放直接缓冲区。然而,如果您的管道中已经有释放缓冲区的出站处理程序,则不需要这样做。例如,如果管道包含
messagetobytecoder
处理程序或其子类,则不需要显式释放缓冲区。 在大多数情况下,如果使用默认的HTTP、Websockets、MQTT处理程序,则不需要释放直接缓冲区