Java NIO教程
Java NIO(新IO)是Java的替代IO API,意味着可以替代标准 Java IO和Java Networking API。Java NIO提供了与传统IO API不同的IO编程模型。注意:有时NIO被称为是非阻塞IO。但是,这并不是NIO最初的意思。此外,NIO API的某些部分实际上正在阻塞-例如文件API-因此,“非阻塞”标签会引起误解。
Java NIO:非阻塞IO
Java NIO使您可以执行非阻塞IO。例如,线程可以要求通道将数据读入缓冲区。当通道将数据读入缓冲区时,线程可以执行其他操作。一旦将数据读入缓冲区,线程就可以继续对其进行处理。将数据写入通道时也是如此。
Java NIO:通道和缓冲区
在标准IO API中,您可以使用字节流和字符流。在NIO中,您可以使用通道和缓冲区。数据总是从通道读取到缓冲区,或从缓冲区写入通道。
Java NIO:选择器
Java NIO包含“选择器”的概念。选择器是一个对象,可以监视多个通道的事件(例如:打开连接,到达数据等)。因此,单个线程可以监视多个通道以获取数据。
学习本课程要求:
教程软件版本说明:
- Java:1.8
- 开发工具:IntelliJ IDEA 2017
Java NIO教程
- Java NIO 概述
- Java NIO 通道
- Java NIO 缓冲区
- Java NIO 分散/聚集
- Java NIO 通道间传输
- Java NIO (Selector)选择器
- Java NIO FileChannel
- Java NIO SocketChannel
- Java NIO ServerSocketChannel
- Java NIO 非阻塞服务器
- Java NIO DatagramChannel
- Java NIO (Pipe)管道
- Java NIO 与IO区别
- Java NIO Path接口
- Java NIO Files类
- Java NIO AsynchronousFileChannel