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) |
| (无) | 选择器(Selecctors) |
通道和缓冲区
Java NIO系统的核心在于:通道(Channel)和缓冲区(Buffer)。
- 通道表示打开到IO设备(例如:文件、套接字)的连接。
- 若需要使用NIO系统,需要获取用于连接IO设备的通道以及用于容纳数据的缓冲区。然后操作缓冲区,对数据进行处理。
简而言之,Channel负责传输,Buffer负责存储。
本文深入探讨了Java NIO(New IO)的概念,一种从Java 1.4版本开始引入的新型IO API,它通过面向缓冲区和基于通道的IO操作,提供了一种比传统Java IO更高效的数据读写方式。文章对比了NIO与传统IO的主要区别,并介绍了NIO的核心组件:通道(Channel)和缓冲区(Buffer),阐述了它们在文件读写过程中的关键作用。

被折叠的 条评论
为什么被折叠?



