NIO 和 IO 的管道有区别吗

Posted

技术标签:

【中文标题】NIO 和 IO 的管道有区别吗【英文标题】:Is there difference between pipes from NIO and IO 【发布时间】:2014-08-20 12:57:33 【问题描述】:

我复习了关于java中I/O的知识。现在我介绍一下管道。我注意到java.io.* 有管道机制,java.nio.* 有类似的机制。

我正在阅读一些关于这些事情的教程。我目前的愿景——来自 NIO 的管道和来自 I/O 的管道看起来是一样的。但我知道在 JDK 中有重复的东西很奇怪。所以我认为我错了。

你能解释一下区别吗?

【问题讨论】:

【参考方案1】:

IO 是面向流的,NIO 是面向缓冲区的。

IO 流是阻塞的,NIO 有非阻塞模式。

在这个Java NIO Tutorial (by Jakob Jenkov) 你可以找到背景和例子。它还可以帮助您找到处理案件的最佳方法。

【讨论】:

NIO 没有流,但它可以是阻塞的:事实上,它默认是阻塞的。它也可以是异步的。 如果有人能在具体的例子中表现出不同——那就太好了

以上是关于NIO 和 IO 的管道有区别吗的主要内容,如果未能解决你的问题,请参考以下文章

Java之io nio aio 的区别

NIO

IO与NIO的区别

Java NIO:IO与NIO的区别

Java NIO:IO与NIO的区别

Java中IO和NIO的本质和区别