Java NIO————NIO 简介
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Java NIO————NIO 简介
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                引言
Java NIO (New IO,或Non Blocking IO) 是從Java1.4 版本開始引入的一個新的?IO API,可以代替標準的Java IO API。
NIO與原來的IO有同樣的作用和目的,但是使用的方式完全不同。
NIO支持面向緩沖區、基于通道的IO操作。NIO將以更加高效的方式進行文件的讀寫操作。
一、NIO 與 IO 的主要區別
| 面向流(Stream Oriented) | 面向緩沖區(Buffer Oriented) | 
| 阻塞IO(Blocking IO) | 非阻塞IO(Non-Blocking IO) | 
| 無 | 選擇器(Selectors) | 
面向流指的是輸入輸出是基于“流”的概念,而且,流是單向的,不管輸入還是輸出都必須使用對應的輸入流和輸出流。流的本身也是數據在傳輸當中的一種抽象形式。
在NIO 中有通道(channel)的概念,是輸出端和輸入端之間的橋梁。雖然流也有類似的含義,但是不同的是,通道僅僅作為連接,本身不包含任何數據。與之進行配合使用的是緩沖區(Buffer)。如果把通道理解為鐵路,那么緩沖區就可以是火車。NIO中的“通道 + 緩沖區”的組合可以完成雙向傳輸的目的。
阻塞與非阻塞、選擇器都是針對網絡通信而言的。后面的網絡通訊會詳細講解。
二、通道(Channel)和緩沖區(Buffer)
Java NIO 系統的核心在于:通道和緩沖區。
通道表示打開到IO 設備(文件、套接字)的連接。若需要使用NIO 系統,就必須要獲取連接 IO 設備的通道以及用于容納數據的緩沖區,然后操作緩沖區,對數據進行操作。
簡而言之,Channel 負責傳輸, Buffer 負責存儲。
總結
以上是生活随笔為你收集整理的Java NIO————NIO 简介的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 怎么使用mysql打表_MySQL的表使
- 下一篇: android 按钮顶级效果_Andro
