老师,感谢您对我昨天提问的问题的解答.大致都明白了.印证了自己的理解.但是关于netty 对内存回收的这里,我仍然有以下几点不确定:
1:
上图中的问题是:如果使用了SimpleChannelInboundHandler,那么形参中传递过来的buf是不需要手动回收的.而channelRead0内部如果自己申请的,或者其他任意地方申请的内存仍然需要手动回收. 这个对不对?
2: ctx.alloc().directBuffer(),Unpooled.directBuffer()两者都是堆外内存,唯一区别就是前者是池化的,后者未池化,两者使用结束后都必须进行回收.这个理解对不对?
3: ctx.write(buf) 这个buf不需要手动回收是不?
4: decode ( )中解码完毕后的buf,不需要手动回收,channelRead方法中会自动回收,是不?