Java NIO (New IO)是Java IO API的另一个选择(从Java 1.4开始),试图替代传统的Java IO和Java Networking API。Java NIO提供了一种完全不同与传统IO API的IO操作模型。
Channel和Buffer
传统IO API,你使用字节流或字符流来进行IO操作。NIO,你将使用Channel和Buffer。数据总是从Channel读进Buffer,从Buffer写入Channel。
Non-blocking IO
Java NIO使你能执行非阻塞IO。比如,一个线程可以命令一个Channel将数据读入Buffer中。当Channel在读取数据进Buffer的过程中,这个线程就可以干其他事。一旦数据已经读入Buffer,这个线程又可以继续进行数据处理。对于数据写入操作也是一样,在数据从Buffer往Channel写的过程中,线程可以干其他事。
Selectors
Java NIO有一个新的概念:Selector。一个Selector是一个可以监视多个Channel里的事件(比如:连接成功,数据读入等)的对象。因此,一个现场可以监视多个Channel。
说明
发现貌似有人在看这个系列文章了,有必要说明下,这个Java NIO系列来源于jenkov.com,本文只是翻译,希望大家千万不要误会,本文不是原创。原文地址:Java NIO。
网友评论