IO 和 NIO

1、什么是IO

   用来进行输入输出操作的流就称为IO流;

2、什么是NIO

(1)NIO 是 New IO ,NIO是为了弥补IO操作的不足而诞生的,NIO的一些新特性有: Asynchronous IO 

        非阻塞I/O,选择器,缓冲以及管道。管道(Channel),缓冲(Buffer),选择器( Selector)是其主要特征。

 (2) NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,

           NIO主要用到的是块, 所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,

           一套是针对标准输入输出NIO,另一套就是网络编程NIO。

3、Java NIO和IO的主要区别
                     IO                                        NIO
 (1)   面向流字节流,字符流         面向缓冲区和通道;

 (2)  IO 是阻塞式的                       NIO是 Asynchronous IO ,非阻塞式IO

 (3)IO 没有选择器                         NIO 选择器主要是用来监一些事件(打开连接,数据到达)    

                                                          单个线程可以监听多个数据通道

 

IO 和 NIO