NIO(一) -- NIO与IO的区别

1.什么是NIO

Java NIO(new IO or No blocking IO)是从java 1.4引进的一个新的IO API,可以代替标准的IO API。
注意:

  • NIO与原来的IO具有相同的作用目的,但是使用方式不同
  • NIO支持面向缓冲区、基于通道的IO操作。NIO将以更高的更加安全的方式进行文件的读写操作。

2.Java NIO与IO的主要区别

IO NIO
面向流(Stream Oriented) 面向缓冲区(Buffer Oriented)
阻塞IO(Blocking IO) 非阻塞IO(Non Blocking IO)
(无) 选择器(Selectors)

3.IO模型

可以将IO理解为水管中的水流,传输数据的时候,先需要建立管道,然后面向流进行数据的传输
NIO(一) -- NIO与IO的区别

3.NIO模型

可以将通道理解为火车轨道,缓冲区理解为火车,数据由缓冲区装载,面向缓冲区
NIO(一) -- NIO与IO的区别