zoukankan      html  css  js  c++  java
  • netty数据缓冲区与nio缓冲区的区别

    nio中ByteBuffer和netty中的ByteBuf相比确实后者更加的好用:

    (1)ByteBuf可以在用户使用数据区空间不足的情况下以2的指数倍扩容,相比ByteBuffer的char数组是final修饰的,一旦需要扩容只能人为手动干预,并且只能重新申请数组并copy才可以。

    (2)ByteBuf有readIndex和writeIndex两个概念,从而把数据区分为3段,一段为已经都去过的可丢弃的数据区discardReadArea(从0位置到readIndex位置);一段为可读取的区域readArea(从readIndex位置到writeIndex位置);最后一段是可写的数据区writeArea(从writeIndex位置到capacity位置),相比ByteBuffer在数据区只有position和limit配合使用更加灵活。

    (3)netty的ByteBuf有三种容器,除了堆内存储,堆外存储以外。还添加了一种容器,这种容器可以将堆内存储,堆外存储合并在一起处理,消除底层差异。

  • 相关阅读:
    响应式设计
    Flex box 弹性盒子布局
    下拉菜单  -
    html使用技巧
    nth-of-type(n)
    Js中 关于top、clientTop、scrollTop、offsetTop
    仿iPhone滑屏操作
    网页超过一页 点击回到顶部
    linux svn使用
    Linux查看CPU和内存使用情况
  • 原文地址:https://www.cnblogs.com/zzq-include/p/12090101.html
Copyright © 2011-2022 走看看