理想情况下,解决方案应该在代码中的一个点上完成,最好在Netty上运行时也与gRPC一起工作。
我注意到有ByteBuf.release()、Cleaner.freeDirectByteBuffer()、PoolArena.destroyChunk()、AbstractReferenceCountedByteBuf.deallocate()等等,但是如果不修改Netty本身,它们似乎都很难重写或替换。或者它会成为一个很好的功能添加到Netty?
好像你在想办法 zero-out 在我们结束记忆之后。你可以自己写 ByteBufAllocator 用它来做所有的事情 Channel s。
zero-out
ByteBufAllocator
Channel