Java NIO 教程,原文地址:http://tutorials.jenkov.com/java-nio/index.html
从 Java 1.4 版本开始,相对于标准的 Java IO 和 Java Networking 和 Java Networking 来说,Java NIO(New IO) 是另一个 IO API。Java NIO 提供了一种不同于标准 IO API 的处理 IO 的方式。
Java NIO: 通道和缓冲区
使用标准的 IO API,我们使用字节流和字符流来进行读写操作。而在使用 NIO API 时,我们使用通道和缓冲区来进行读写操作。数据总是从通道读到缓冲区,或者从缓冲区写入到通道中。
Java NIO: 非阻塞式 IO
使用 Java NIO,你可以进行非阻塞式 IO 读写操作。例如,一个线程可以将数据从通道中读到缓冲区中。当数据从通道读到缓冲区的过程中,线程可以做其他事情。等到数据从通道读到缓冲区完成后,线程可以回过头来再处理它。从缓冲区写数据到通道也是同样的过程。
Java NIO: 选择器
Java NIO 中有一个“选择器”的概念。一个选择器可以依据事件驱动模型监听多个通道上的事件(例如:连接打开,数据到达等事件)。因此,一个线程可以监听多个通道上的各种事件。
欲知详情,请继续阅读下一节——《Java NIO 概览》。