Netty ByteBuf 详解
发布时间
阅读量:
阅读量
ByteBuf的结构,如下图所示

ByteBuf 是一个字节数组,在其内部划分为三个区域:首先是已经被废弃不用的部分——被废弃的空间或数据块无法被访问或利用;其次是当前模块的核心存储区——任何来自该模块的数据都将被存储在这里;最后是预留的部分——附加空间用于后续扩展存储容量
以上三部分由两个指针分隔开来。按顺序排列着读指针(ReaderIndex)和写指针(writerIndex)。此外,还有一个变量capacity代表ByteBuf存储空间的最大容量。
每当从ByteBuf中读取一个字节时
4.存储数据从writerIndex所指位置开始存储,在每次存储一个字节时都会使writerIndex递增1直至达到容量限制capacity为止。此时表明ByteBuf已无法继续存储。
- ByteBuf中包含了一个额外的参数maxCapacity。每当向ByteBuf添加数据时,如果当前容量不足,则就可以进行扩展处理,直到capacity被扩展至maxCapacity为止。一旦capacity超过maxCapacity就会触发错误提示。
容量相关API
capacity() 定
全部评论 (0)
还没有任何评论哟~
