javaNIO实战1----> java NIO的基本基本理论

1、什么是NIO ?

      java NIO 也叫New IO 也可以叫Non Blocking IO ,是从java 1.4 版本开始引入的一个全新的IO API。NIO与原来的IO有同样的目的与作用,但是使用的方式完全不同,NIO支持面向缓冲区(Buffer)且基于通道(Channel)的IO操作,NIO以更高效的方式进行文件的读写操作。

2、java中IO与NIO的区别

 

     2.1、传统IO的思维导图:

              

                        特点:流是单向的、读写线程会被阻塞、从内核空间到用户空间必须要copy。

 

      2.2、NIO的思维导图:

                

                特点:通道是双向的,可将通道理解为铁路,只负责连接两个目标,进行缓冲区填充与卸载以及传输,可以做到读写线程非阻塞,也可以做到0拷贝(利用直接缓冲区)。

 

3、java NIO的核心部件

     java NIO系统的核心在于通道(Channel)和缓冲区(Buffer)、网络NIO环境中的选择器(Selector)。Channel表示打开到IO设备的连接,例如文件、套接字。

     如果需要使用NIO系统,需要获取用于连接IO设备的Channel + 用于容纳数据的缓冲区(Buffer),然后操作缓冲区,对数据进行处理。

     简而言之,Channel负责连接+传输+缓冲区填充与卸载;

                       Buffer负责数据存储;

 

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页