JAVA NIO简明教程 第一章nio简介
java1.4发布Java NIO(New IO)意味着代替标准的Java IO和Java网络API。Java NIO提供了一种不同于之前IO操作的API。(译者注:之前IO是阻塞同步的方式,新的Java NIO也称为java no-blocking非阻塞的方法。)
通道和缓存
在使用之前的IO API我们使用字节流和字符流开发网络编程,而在NIO我们使用 通道(channels)和buffer(缓存)。在NIO开发中数据总是从通道写入缓存或者从缓存写入通道。
非阻塞的IO
Java NIO能够使你开发非阻塞的IO,例如当一个线程从通道写入数据到缓存,当通道写入数据到缓存时,线程能够处理其他的操作,一旦数据写入完毕,线程能够继续处理IO.缓存写入通道也是非阻塞的。
选择器
选择器是Java NIO的组件之一(通道,缓存,选择器NIO的三大组件). 选择器(selectors)是一个对象能够监听多个通道的事件(如:connection opened,data arrived),因此单线程可以监听多个通道的数据。