我们正在努力开放api网关的外包,并使用 Netty 作为基础框架。
我遇到了诺曼·莫雷(Norman Maurer)的幻灯片。在其中一张幻灯片中,他提到了
仅在需要对int中的byte []进行操作时才使用堆缓冲区 ChannelOutboundHandler!默认情况下,直接ByteBuf将由 ByteBufAllocator.buffer(...)。
以经验为依据
此法则背后的原因是什么?
答案 0 :(得分:2)
重要的部分是“如果需要对byte []进行操作”。就像仅在使用堆ByteBuf
时一样,可以使用byteBuf.array()
来访问基础byte[]
,而无需进行额外的内存复制。