原文地址:http://tutorials.jenkov.com/java-nio/index.html
Java NIO (New IO) 是一个可供选择的 Java API (从Java 1.4引入),它可以替代标准的java IO API。它提供了一种与标准IO不同的工作方式。
Java NIO:Channels and Buffers(通道和缓冲区)
在标准的IO中,我们通过字符流和字节流进行操作,而在NIO中,我们通过通道和缓冲区工作。数据总是从通道读入缓冲区,或者从缓冲区写入通道。
Java NIO:Asynchronous IO(异步IO)
Java NIO实现了异步IO操作。比如:当线程从通道读取数据到缓冲区时,它也可以做其他事情,一旦数据被写入缓冲区后,线程可以继续处理它。从缓冲区向通道写数据也类似。
Java NIO:Selectors(选择器)
Java NIO中包含选择器的概念,一个选择器可以监听多个通道上发生的事件(比如:连接建立,数据到达等),这样,单个线程便可以监听多个通道。