当我阅读Netty5的UnpooledDirectByteBuf.java的源代码时,我发现UnpooledDirectByteBuf.java的一些代码是这样的:
public ByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length) {
checkSrcIndex(index, length, srcIndex, src.capacity());
if (buffer.hasArray()) {
src.getBytes(srcIndex, buffer.array(),
index + buffer.arrayOffset(), length);
} else if (src.nioBufferCount() > 0) {
... ...
} else {
src.getBytes(srcIndex, this, index, length);
}
return this;
}我很惊讶为什么我们在这里叫"buffer.hasArray()“。UnpooledDirectByteBuf的this.buffer是DirectByteBuffer吗?我认为这里的buffer.hasArray()总是返回false。我说的对吗?谢谢!
发布于 2014-06-16 16:13:58
听起来像是复制粘贴遗留下来的东西。让我在netty中检查并删除它:)谢谢!
https://stackoverflow.com/questions/24209438
复制相似问题