nio
一、缓冲区建立
- 管理方式,通过allocate()获取缓冲区
二、缓冲区存取数据的两个核心方法:
- put() : 存入数据到缓冲区中
- get() : 获取缓冲区中的数据
三、缓冲区中的四个核心属性:
- capactiy: 容量,表示缓冲区中最大存储数据的容量。一段声明不能改变。
- limit: 界限,表示缓冲区中可以操作数据的大小。(limit 后的数据不能进行读写)
- position: 位置,表示缓冲区中正在操作数据的位置。
- mark:标记,表示当前position的位置。可以通过
reset()
恢复到mark的位置。
- mark <= position <= limit <= capacity
通道(channel) :用于源节点与目标节点的链接。负责缓冲区中数据的传输。Channel不存储数据,需要与缓冲区配合传输数据
- 通道的实现类
- FileChannel
- SocketChannel
- ServerSocketChannel
- DatagramChannel
直接缓存区操作文件
分算和聚集