转自:https://blog.csdn.net/qq_36520235/article/details/81318189
NIO和IO到底有什么区别?有什么关系?
首先说一下核心区别:
NIO是以块的方式处理数据,但是IO是以最基础的字节流的形式去写入和读出的。所以在效率上的话,肯定是NIO效率比IO效率会高出很多。
NIO不在是和IO一样用OutputStream和InputStream 输入流的形式来进行处理数据的,但是又是基于这种流的形式,而是采用了通道和缓冲区的形式来进行处理数据的。
还有一点就是NIO的通道是可以双向的,但是IO中的流只能是单向的。
还有就是NIO的缓冲区(其实也就是一个字节数组)还可以进行分片,可以建立只读缓冲区、直接缓冲区和间接缓冲区,只读缓冲区很明显就是字面意思,直接缓冲区是为加快 I/O 速度,而以一种特殊的方式分配其内存的缓冲区。
---------------------
作者:依本多情
来源:CSDN
原文:https://blog.csdn.net/qq_36520235/article/details/81318189
版权声明:本文为博主原创文章,转载请附上博文链接!