Java NIO Tutorial(一)
以下翻译自——http://tutorials.jenkov.com/java-nio/index.html,如有侵权,立删。
Java NIO Tutorial
Java NIO 是Java IO(from Java 1.4)的一个可供替换的选择,意味着可以替换标准的Java IO和Java Networking API。比起标准的Java IO API,NIO提供了不同的方法向IO。
Java NIO: Channels and Buffers
在标准的Java IO中,是通过字节流或字符流来进行工作。而在NIO中我们通过channel(通道)和buffer(缓存区)来进行工作,数据总是从channel读取到buffer中,或者是从buffer中写到channel中。
Java NIO: Non-blocking IO
Java NIO是非阻塞IO,例如,一个线程可以让一个channel读取data到buffer中。在读取到buffer的过程中,线程还可以做其他的事情。一旦data全部读取到buffer中,线程可以继续对他进行处理。写操作也是同样的。
Java NIO: Selectors
Java NIO包含了一个selector的概念,对于一个事件,selector可以监控多个channel。因此一个单线程可以监控多个channel。