首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    精准理解 ByteBuffer 中的 capacity、position、limit

    position = 0; mark = -1; return this; } 首先该方法将 limit 设置为了 position ,然后把 postion...这个时候capacity limit 和 postion 值都为10,这个时候可能就比较混乱了,来,捋一下。...缓冲区从0-9被填满,实际上填满了10个盒子,postion 从 0 变为 10,可以理解为 postion 就是目前缓冲区写入到了哪个角标,当然也可以理解为 postion 就是下一个待写入的值应该写入的角标...原因在于插入时并非根据byte数组长度来判断的容量是否足够,而是根据 postion 和 limit 判断的,源码如下,注意 remaining 方法 public ByteBuffer put...capactiy:初始化大小,缓冲区 byte 数组大小 limit:可以理解为逻辑大小,描述这个缓冲区目前有多大 postion:简单理解为下一个字节写到byte数组的哪一个下标。

    1.4K10
    领券