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理解爲水管中的水流,傳輸數據的時候,先需要建立管道,然後面向流進行數據的傳輸
3.NIO模型
可以將通道理解爲火車軌道,緩衝區理解爲火車,數據由緩衝區裝載,面向緩衝區