Java NIO 概述 | 张扎瓦的博客

Java NIO 概述

Java NIO简介


Java NIO 简介

Java NIO(New IO / Non Blocking IO)是从Java1.4 版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有相同的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO以更加高效的方式进行文件的读写操作。

NIO与IO的区别

IO NIO
面向流(Stream Oriented) 面向缓冲区(Buffer Oriented)
阻塞IO(Blocking IO) 非阻塞IO(Non Blocking IO)
选择器(Selectors)

通道和缓冲区

Java NIO系统的核心在于:通道(Channel)和缓冲区(Buffer)。通道表示打开到IO设备(如:文件、套接字)的连接。若需要使用NIO系统,需要获取用于连接IO设备的通道以及用于容纳数据的缓冲区。然后操作缓冲区,对数据进行处理。

NIO示意图

缓冲区是一个用于存放特定基本数据类型的容器。由java.nio包定义,所有的缓冲区都是Buffer抽象类的子类。缓冲区主要用来与通道进行交互,数据从通道读入缓冲区,从缓冲区写入通道。

如果我的文章对您有所帮助,不妨打赏一杯豆浆以资鼓励(○` 3′○)