Java NIO是java 1.4以后新出的一套IO接口,这里的的新是相对于原有标准的Java IO和Java Networking接口。NIO提供了一种彻底不一样的操做方式。java
NIO中的N能够理解为Non-blocking,不单纯是New编程
标准的IO编程接口是面向字节流和字符流的。而NIO是面向通道和缓冲区的,数据老是从通道中读到buffer缓冲区内,或者从buffer写入到通道中。spa
Java NIO使咱们能够进行非阻塞IO操做。好比说,单线程中从通道读取数据到buffer,同时能够继续作别的事情,当数据读取到buffer中后,线程再继续处理数据。写数据也是同样的。线程
NIO中有一个“slectors”的概念。selector能够检测多个通道的事件状态(例如:连接打开,数据到达)这样单线程就能够操做多个通道的数据。 全部这些都会在后续章节中更详细的介绍。接口