5.1 缓冲区API

Netty的缓冲区API具有两个接口:

  • ByteBuf

  • ByteBufHolder

Netty使用引用计数来知道何时可以安全释放Buf及其声明的资源。知道Netty使用引用计数很有用,但这都是自动完成的。这使Netty可以使用缓冲池和其他技巧来加快处理速度,并将内存利用率保持在合理水平。您不需要做任何事情就能做到这一点,但是在开发Netty应用程序时,应该尝试处理数据并尽快释放池化资源。

Netty的缓冲区API提供了更多优势:

  • 如果需要,您可以定义自己的缓冲区类型。

  • 透明的零复制是通过内置的复合缓冲区类型实现的。

  • 按需扩展容量,例如使用StringBuffer。

  • 无需调用flip()即可在读取器/写入器模式之间切换。

  • 读者索引和作家索引分开。

  • 方法链接。

  • 引用计数。

  • 池化

我们将在本章的后续部分中更深入地研究其中的一些内容,包括池化。让我们开始使用字节容器,您可能需要首先使用它。

最后更新于

这有帮助吗?