Java NIO(New IO)是用于Java(来自Java 1.4)的替代IO API,意味着替代标准Java IO和Java Networking API。 Java NIO提供了与标准IO API不同的IO工作方式。通俗点讲就是new io
Channels 和 Buffers
在标准IO 中,我们一般使用字节流和字符流来处理业务。 但在NIO中,会使用通道和缓冲区。 数据从通道读入缓冲区,或者从缓冲区写入通道channel。
非阻塞 IO
Java NIO能够执行非阻塞IO。
例如,一个线程可以请求一个通道将数据读入缓冲区。 当通道读取数据到缓冲区时,线程可以做其他事情。 一旦数据被读入缓冲区,线程可以继续处理它。 将数据写入通道也是如此。
Selectors 选择器
Java NIO包含“选择器”的概念。 选择器是一个对象,可以监视多个通道的事件(如:连接打开,数据到达等)。 因此,一个线程可以监视多个通道的数据。
后面的章节会详细介绍这几个类。