Java NIO 概述
- Channel 和 Buffer
标准的Java IO编程接口是面向字节流和字符流的
而 NIO 是面向通道和缓冲区的
数据总是从通道中读到Buffer中,或者从Buffer写入通道中
NIO可以理解成 New IO和 Non-blocking IO,也就是非阻塞式IO
- Non-blocking IO
非阻塞IO,就是说在单线程情况下,在从通道读数据到Buffer过程中,同时可以继续做其他事。写数据也是一样的,在将数据从Buffer写入通道的过程中,程序还可以做其他事。
- Selector
selector用于检测多个通道的事件状态,这样单线程就可以操作多个通道的数据