在netty中,ChannelHandler
(s)处理的对象应该通过调用ReferenceCountUtil.release()
来释放。我在我的应用程序和文档中使用自定义对象表示需要发布的任何对象应该实现ReferenceCounted
,因此可以通过netty框架进行管理。
那么我们是否应该在渠道管道的尾部放置一个清理处理程序以释放传入的第三方对象(我不会拦截出站邮件)?我是否正确理解了这个想法?
答案 0 :(得分:2)
这取决于第三方对象是什么,但是如果它没有实现ReferenceCounted
并且它被JVM垃圾收集器回收没有任何问题,那么你根本不需要做任何事情。
Netty希望您发布ReferenceCounted
对象的原因是因为它包含了必须立即释放的内容。 (例如直接缓冲区,池化缓冲区)