gpt4 book ai didi

java - 为什么建议在 ChannelOutboundHandler 中仅使用带有 [byte] 操作的堆缓冲区?

转载 作者:行者123 更新时间:2023-11-30 02:01:49 25 4
gpt4 key购买 nike

我们正在致力于开源 API 网关并使用 Netty 作为底层框架。

我偶然发现了 Norman Maurer 的幻灯片。在其中一张幻灯片中,他提到

Only use heap buffers if need to operate on byte[] in ChannelOutboundHandler! By default direct ByteBuf will be returned by ByteBufAllocator.buffer(...).

Take this as rule of thumb

这个规则背后的原因是什么?

最佳答案

重要的部分是“是否需要对byte[]进行操作”。因为只有在使用堆 ByteBuf 时,才可以使用 byteBuf.array() 访问底层 byte[],而无需执行额外的内存复制.

关于java - 为什么建议在 ChannelOutboundHandler 中仅使用带有 [byte] 操作的堆缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52610030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com