美文网首页
读书笔记:ByteBuf

读书笔记:ByteBuf

作者: 夜玉龙 | 来源:发表于2020-03-06 14:16 被阅读0次
ByteBuf的优点
1、它可以被用户自定义的缓冲区类型扩展
2、通过内置的复合缓冲区类型实现了透明的零拷贝
3、容量可以按需增长
4、在读和写这两种模式之间进行切换不需要调用ByteBuffer的flip方法
5、读和写使用了不同的索引
6、支持方法的链式调用
7、支持引用计数
8、支持池化
ByteBuf的工作原理

在ByteBuf中存在一个readIndex和一个writeIndex,其中readIndex的位置永远不能超过writeIndex,如果你试图这样做,那么你将会得到一个IndexOutOfBoundsException,其中readIndex和writeIndex之间的区域是可以读取的区域,writeIndex和ByteBuf容量之间的区域是可以写入的区域

ByteBuf的使用模式
1、堆缓冲区

是将数据存储在JVM的堆空间中,这种模式被称为支撑数组,它能在没有使用池化的情况下提供快速的分配和释放,会不会产生内存碎片呢?

2、直接缓冲区

直接缓冲区是使用堆外内存进行分配的操作,这主要是为了避免在每次调用本地I/O操作之前在缓冲区的内容复制到一个中间缓冲区中

相关文章

  • 读书笔记:ByteBuf

    ByteBuf的优点 ByteBuf的工作原理 在ByteBuf中存在一个readIndex和一个writeInd...

  • Netty ByteBuf入门

    Netty ByteBuf ByteBuf的基本结构 ByteBuf由一段地址空间,一个read index和一个...

  • Netty 内存分配 ByteBuf

    初识ByteBuf ByteBuf是io和应用程序的中间层;读数据时,ByteBuf先从io中读取,在发送给应用程...

  • netty(十一)初识Netty - ByteBuf 创建与读写

    本章节主要学习一下netty当中的ByteBuf,ByteBuf是对字节数据的封装。 接下来主要学习Bytebuf...

  • Netty学习--ByteBuf

    Netty使用ByteBuf替换Java NIO提供的ByteBuffer(使用过于复杂). ByteBuf 的A...

  • [Netty源码分析]ByteBuf(五)

    ByteBuf的释放

  • Netty系列-Bytebuf中pool、unpool、heap

    上一篇介绍了ByteBuffer和ByteBuf结构,Bytebuf提供接口方法要比ByteBuffer简洁并强大...

  • ByteBuf

    jdk自带ByteBuffer,看名字就知道作用差不多,区别是ByteBuffer读写都用一个指针,ByteBuf...

  • ByteBuf

    体系结构 从图可以看出来,ByteBuf分类主要是三个维度:Unpooled和PooledUnsafe和非Unsa...

  • ByteBuf

    介绍: 网络数据的基本单位是字节,ByteBuf是Netty的数据容器;Java NIO提供了ByteBuffer...

网友评论

      本文标题:读书笔记:ByteBuf

      本文链接:https://www.haomeiwen.com/subject/fejihxtx.html