java Netty readBytes引用计数
我有这样的代码:
void decodeFragment(ByteBuf fragment) {
fragment.readByte();
...
}
void decodeMessage(ByteBuf buf) {
buf.readByte(); // header
...
decodeFragment(buf.readBytes(20));
}
据我所知,来自readBytes
的新缓冲区将有自己的引用计数,我需要处理它。如果我知道我不需要比原始缓冲区更长时间的片段,还有其他选择吗?也许readSlice
就是我要找的?文件不是很清楚
另一个相关问题。如果我创建Unpooled.wrappedBuffer
,我还需要处理引用计数吗?那Unpooled.copiedBuffer
呢
# 1 楼答案
如果您不需要额外的引用计数,并且可以共享或想要共享底层存储
slice
或readSlice
就是您正在寻找的方法是的,即使对于
wrappdBuffer
和copiedBuffer
你也需要注意释放缓冲区