引用计数对象
Reference Count Object
在netty中,ChannelHandler
(s)处理的对象应该调用ReferenceCountUtil.release()
释放。我在我的应用程序中使用自定义对象,文档说任何需要发布的对象都应该实现 ReferenceCounted
以便它可以由 netty 框架管理。
那么我们是否应该在通道管道的尾部放置一个清理处理程序来释放传入的第三方对象(我不拦截出站消息)?我的想法正确吗?
这取决于第三方对象是什么,但是如果它没有实现ReferenceCounted
并且被JVM垃圾收集器回收没有任何问题,你真的不需要做任何事情。
Netty 期望您释放 ReferenceCounted
对象的原因是因为它包含一些 'must' 可以立即释放的东西。 (例如直接缓冲区、合并缓冲区)
在netty中,ChannelHandler
(s)处理的对象应该调用ReferenceCountUtil.release()
释放。我在我的应用程序中使用自定义对象,文档说任何需要发布的对象都应该实现 ReferenceCounted
以便它可以由 netty 框架管理。
那么我们是否应该在通道管道的尾部放置一个清理处理程序来释放传入的第三方对象(我不拦截出站消息)?我的想法正确吗?
这取决于第三方对象是什么,但是如果它没有实现ReferenceCounted
并且被JVM垃圾收集器回收没有任何问题,你真的不需要做任何事情。
Netty 期望您释放 ReferenceCounted
对象的原因是因为它包含一些 'must' 可以立即释放的东西。 (例如直接缓冲区、合并缓冲区)