java提供了一个叫作nio(new i/o)的第二个i/o系统,nio提供了与标准i/o api不同的i/o处理方式。它是java用来替代传统i/o api(自java 1.4以来)。 (推荐学习:java课程)
它支持面向缓冲的,基于通道的i/o操作方法。 随着jdk 7的推出,nio系统得到了扩展,为文件系统功能和文件处理提供了增强的支持。 由于nio文件类支持的这些新的功能,nio被广泛应用于文件处理。
nio为java程序员实现高速i/o,而不使用自定义本机代码。 nio将填充,排放缓冲区等的时间性i/o活动移回操作系统,从而大大提高了操作速度。
java nio基本组件如下:
通道和缓冲区(channels and buffers):在标准i/o api中,使用字符流和字节流。 在nio中,使用通道和缓冲区。数据总是从缓冲区写入通道,并从通道读取到缓冲区。
选择器(selectors):java nio提供了“选择器”的概念。这是一个可以用于监视多个通道的对象,如数据到达,连接打开等。因此,单线程可以监视多个通道中的数据。
非阻塞i/o(non-blocking i/o):java nio提供非阻塞i/o的功能。这里应用程序立即返回任何可用的数据,应用程序应该具有池化机制,以查明是否有更多数据准备就绪。
下面来看看非阻塞i/o的应用和操作系统接口:
以上就是java的nio是什么的详细内容。