Netty-CompositeByteBuf

CompositeByteBuf实质上是把多个ByteBuf组合成了一个逻辑上的buffer。
同时各个buffer之间独立维护自己的读写索引。而外层的CompositeByteBuf自己会单独维护一个读写索引。
读取的时候,就是根据入参的读取位置,二分查找相应的component,然后开始顺序读取各个buffer中的可读字节。
新增的时候,就会根据动态扩容的结果,向现有的compoennt中padding一个新的buffer,利用新的buffer进行读写,从而不影响原有buffer。
扩容,超过16个buffer,就申请一个大buffer,将以前的数据复制过来。

你可能感兴趣的:(java)