Java核心类库-IO-NIO概述
NIO:New IO
从JDK1.4开始提出的,新的IO,可以把一块磁盘文件映射到内存中,我们再去读取内存中的数据。
存放在java.nio包中
Java NIO(New IO)是Java1.4版本开始引入的一个新的IO API,可以替代标准Java IO API现在主要用于服务器中,对于我们写代码依然使用传统的IO就够了。
Java NIO提供了与标准IO不同的IO工作方式:
Channels and BUffers(通道和缓冲区):标准IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。
Asynchronous(异步IO):Java NIO可以让你异步的使用IO,例如:当线程从通道读取数据到缓冲区时,线程还是可以进行其他事情。当数据被写入到缓冲区时,线程可以继续处理它。从缓冲区写入通道也类似。
selectors(选择器):Java NIO引入了选择器概念,选择器用于监听多个通道的事件(比如:链接打开,数据到达)。因此,单个线程可以监听多个数据通道。