java的NIO是同步非阻塞IO,他有三个组件:
Channel(通道):
Channel是一个双向的通道,可以满足同时读写,有用作文件IO型的Channel,有用作网络链接的Channel。
Selector(选择器):
Selector的作用就是去查询IO就绪事件,我们可以把多个通道注册到一个Selector中,然后启动一个线程通过Selector查询多个通道的IO就绪状态,从而达到一个线程管理多个链接通道的IO处理。这种方式使用到了操作系统IO多路复用的机制。
Buffer(缓冲区):
一个内存块,Channel的读取和写入都是通过Buffer的。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。