news 2026/6/26 19:58:38

第一章Netty,position和limit的关系

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第一章Netty,position和limit的关系

在 ByteBuffer(以及所有 NIO Buffer)中,position 和 limit 是两个核心的指针变量,它们共同定义了当前缓冲区中‌有效数据的范围‌或‌可操作的空间‌。

它们之间始终遵循一个核心不变式:
0≤mark≤position≤limit≤capacity

以下是 position 和 limit 的具体关系及在不同模式下的含义:

1. 核心定义

Position(位置)‌:

表示‌下一个‌要被读取或写入的元素的索引。
每次执行 get() 或 put() 操作后,position 会自动加 1。
它像一个“游标”,指示当前操作进行到了哪里。
Limit(界限)‌:

表示‌第一个不能‌被读取或写入的元素的索引。
换句话说,索引从 0 到 limit - 1 的区域是当前可操作的有效区域。
它像一个“围墙”,限制了 position 能移动到的最大位置,防止越界访问无效数据或超出缓冲区容量。

2. 两种模式下的关系变化

position 和 limit 的关系随着缓冲区在“写模式”和“读模式”之间的切换而动态变化,最典型的操作是 flip()。

A. 写模式(Writing Mode)
当你刚创建缓冲区或调用 clear() 后,缓冲区处于写模式。

Limit‌:通常等于 capacity(缓冲区的总物理容量)。表示你最多可以写入这么多数据。
Position‌:初始为 0,随着写入数据逐渐增加。
关系‌:position 指向下一个待写入的位置,limit 指向缓冲区的末尾。
示例‌:
capacity = 10, limit = 10。
写入 3 个字节后,position = 3。
此时有效写入空间是索引 0, 1, 2,下一个写入位置是 3,不能超过 limit (10)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 19:56:53

2026企业级必看|8款主流AI编程工具优缺点实测选型指南

我试 AI 编程工具的方式不太正经:让它们各自帮我写一封给产品经理的需求确认邮件。从这件小事上就能看出工具的性格,逻辑严谨度、语言适配度、细节完善度差距一目了然。我作为小团队技术负责人,兼顾前后端开发与项目迭代统筹,日常…

作者头像 李华
网站建设 2026/6/26 19:56:06

微信聊天记录永久保存终极指南:3步实现数据主权与情感留存

微信聊天记录永久保存终极指南:3步实现数据主权与情感留存 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/W…

作者头像 李华
网站建设 2026/6/26 19:54:28

应激状态下躯体信号认知屏蔽的三类模式与干预方向

“失眠、头痛、心慌持续半年有余,却始终以项目结束后便会缓解为理由推迟面对。”一位三十三岁电商运营总监在咨询中如此回溯,彼时已被确诊为中度焦虑伴随惊恐发作。其并非未曾察觉躯体发出的异常信号,而是以一种近乎自动化的认知策略将感受持…

作者头像 李华
网站建设 2026/6/26 19:50:07

为什么大型活动,都选自有设备的舞美团队?

在活动策划与舞美工程行业,设备自持率与服务链条的完整性,直接决定了一家企业的响应速度、成本控制能力和落地品质。昆明华灿文化传播有限公司的核心竞争力之一,正是“全设备自持”与“全流程闭环服务”的双重优势。 公司自有全套舞美演艺设备…

作者头像 李华
网站建设 2026/6/26 19:47:24

单目标跟踪算法Transformer 之VitTrack

1、概述 VitTrack Vision Transformer Tracker,OpenCV 官方封装类名为 cv::TrackerVit,俗称 ViT 跟踪器。谷歌 GSoC 2023 开源项目,专为边缘端、CPU 实时设计的轻量化 Transformer 单目标跟踪算法,收录于 OpenCV Zoo 模型库。Mi…

作者头像 李华
网站建设 2026/6/26 19:43:10

3步解锁AMD Ryzen隐藏性能:免费开源调试工具完全指南

3步解锁AMD Ryzen隐藏性能:免费开源调试工具完全指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://git…

作者头像 李华