有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    如果您不需要额外的引用计数,并且可以共享或想要共享底层存储slicereadSlice就是您正在寻找的方法

    是的,即使对于wrappdBuffercopiedBuffer你也需要注意释放缓冲区