什么是NIO
Java NIO(new IO)是一个可替代的标准的Java IO api的IO,
Java NIO 提供了标准IO不同的IO工作方式;
标准的IO是基于字节流和字符流的进行操作的;
Channels and Buffers
NIO是基于 通道 和 缓冲区的进行操作读取的,数据是从通道中读取到缓冲区中,
或者重缓冲区读如到通道中;
Non-blocking IO(非阻塞IO)
NIO可以让你非阻塞的适用io,例如:当线程从通道读取到数据缓冲区时,线程还可以进行其他事情。
当数据被写入到换种冲去时,线程可以继续处理它。从缓冲区写入通道也是类似。
Selector (选择器)
NIO 引入了选择器的概念,选择器用于监听多个通道的事件。
比如:连接打开,数据到达。因此单个线程可以监听多个数据通道。