NIO基本组件 Buffer 详解

Buffer组件

对数据读取、写入要用buffer,本质就是一个数组
NIO基本组件 Buffer 详解

Buffer最常用的类

NIO基本组件 Buffer 详解

Buffer缓冲区状态变量

mark(标记):标记position位置
position(位置):当前读写的位置
limit(上界):缓冲区现存元素的计数
capacity(容量):最大容量

0 <= mark <= position <= limit <= capacity
NIO基本组件 Buffer 详解

写入缓冲区

写入一个字节,position移动1格,position就是当前写入位置
NIO基本组件 Buffer 详解

读取缓冲区

调用buffer.flip() 切换到读模式,position就会移动到数据开头,limit会移动到数据结尾
NIO基本组件 Buffer 详解
每读一个字节,position移动1格,直到position=limit
NIO基本组件 Buffer 详解

清除缓冲区

调用buffer.clear() 清除缓冲区
NIO基本组件 Buffer 详解

压缩缓冲区

调用buffer.compact() 申请一个新的缓冲区,把中间两个数据移到起始位置
NIO基本组件 Buffer 详解

Channel与Buffer关系

https://blog.csdn.net/weixin_44371237/article/details/122284606

上一篇:linux下检查是否安装过某软件包 离线安装


下一篇:java开发实用技巧(更新中...)