Java NIO教學

Java提供了一個叫作NIO(New I/O)的第二個I/O系統,NIO提供了與標準I/O API不同的I/O處理方式。它是Java用來替代傳統I/O API(自Java 1.4以來)。

它支持面向緩衝的,基於通道的I/O操作方法。 隨著JDK 7的推出,NIO系統得到了擴展,為檔系統功能和文件處理提供了增強的支持。 由於NIO檔類支持的這些新的功能,NIO被廣泛應用於檔處理。

NIO為Java程式員實現高速I/O,而不使用自定義本機代碼。 NIO將填充,排放緩衝區等的時間性I/O活動移回操作系統,從而大大提高了操作速度。

Java NIO基本組件如下:

  • 通道和緩沖區(Channels and Buffers):在標準I/O API中,使用字元流和位元組流。 在NIO中,使用通道和緩沖區。數據總是從緩衝區寫入通道,並從通道讀取到緩衝區。

  • 選擇器(Selectors):Java NIO提供了“選擇器”的概念。這是一個可以用於監視多個通道的對象,如數據到達,連接打開等。因此,單線程可以監視多個通道中的數據。

  • 非阻塞I/O(Non-blocking I/O):Java NIO提供非阻塞I/O的功能。這裏應用程式立即返回任何可用的數據,應用程式應該具有池化機制,以查明是否有更多數據準備就緒。

下麵來看看非阻塞I/O的應用和操作系統介面:

讀者

本教程是專為Java NIO初學者而準備的,通過簡單的步驟幫助他們來瞭解和學習Java NIO基礎知識。 完成本教程的學習後,您將發現自己在Java NIO編程方面具有一定的專業知識水準,進而能更容易地學習Java NIO編程中更深層次的技術和知識。

前提條件

Java NIO編程類基於Java編程,所以如果你知道或熟悉Java語法,那麼將很容易學習Java NIO。 此外,如果您沒有Java專業知識,但如果您有其他任何其他編程語言(如C語言,C++或Python)的基礎,那麼也將有助於快速掌握Java NIO編程技術。

問題回饋

我們不能保證您在學習此Java NIO教學的過程中不會遇到任何問題。本教學中的講解,示例和代碼等只是根據作者的理解來概括寫出。由於作者水準和能力有限,因此不保正所有編寫的文章都準確無誤。但是如果有遇到任何錯誤或問題,請回饋給我們,我們會及時糾正以方便後續讀者閱讀。


開始學習 >> :Java NIO組件