java nio 所有影响 plc 的方法一览表
方法名 | 修改 position | 修改 limit | 修改 capacity | 场景说明 |
---|---|---|---|---|
mark() | ❌ | ❌ | ❌ | 标记当前位置 |
reset() | ✅ | ❌ | ❌ | 回到 mark 的位置 |
rewind() | ✅ (→0) | ❌ | ❌ | 重新从头读 |
flip() | ✅ (→0) | ✅ (→position) | ❌ | 写完 → 读模式 |
clear() | ✅ (→0) | ✅ (→capacity) | ❌ | 清空状态,准备重写 |
compact() | ✅ | ✅ (→capacity) | ❌ | 保留未读部分,继续写 |
get() / put() | ✅ | ❌ | ❌ | 读写一个或多个字节 |
slice() | ❌(原 buffer) | ❌ | ❌ | 创建子缓冲区 |
duplicate() | ❌ | ❌ | ❌ | 复制缓冲区 |
limit(int) | ❌ | ✅ | ❌ | 手动设置 limit |
position(int) | ✅ | ❌ | ❌ | 手动设置 position |
hasRemaining() | ❌ | ❌ | ❌ | 判断是否还有空间或数据 |
remaining() | ❌ | ❌ | ❌ | 获取剩余空间或数据长度 |