java NIO

    要實現網絡機器間的通訊,首先得來看看計算機系統網絡通信的基本原理,在底層層面去看,網絡通信需要做的就是將流從一臺計算機傳輸到另外一臺計算 機,基於傳輸協議和網絡IO來實現,其中傳輸協議比較出名的有http、tcp、udp等等,http、tcp、udp都是在基於Socket概念上爲某 類應用場景而擴展出的傳輸協議,網絡IO,主要有bio、nio、aio三種方式,所有的分佈式應用通訊都基於這個原理而實現,只是爲了應用的易用,各種 語言通常都會提供一些更爲貼近應用易用的應用層協議。

    J2SE1.4 中加入了新的I/O庫(NIO),允許在Java應用中使用高速I/O。IO使用了新的I/O模型,它與原有的I/O庫使用的模型有着很大區別。這篇文章 將一步一步教您使用NIO庫中的select工具。select使您的服務器可以處理來自多個連接的大量據量。在對NIO庫的簡要介紹後,本文還講解了 select工具的原理,最後分析了一個利用select工作的服務器的源碼。

    Java使用了基於流的I/O模型。流是一種產生或消耗字節序列的對象。流可以與過濾程序連接在一起,擴展到可以處理各種不同的數據。流模型非常複雜,但是效率不高。這對於大多數應用來說還好,但當系統需要和硬件處理同樣高的速度時,流模型就無法應付了。

    J2SE1.4中引入了新I/O庫(NIO)來解決這個問題。NIO使用面向緩衝(buffer)的模型。這就是說,NIO主要處理大塊的數據。這就避免了利用流模型處理所引起的問題,在有可能的情況下,它甚至可以爲了得到最大的吞吐量而使用系統級的工具。

關於NIO的詳細說明以及使用,請參考http://tech.ccidnet.com/art/322/20030903/62354_1.html
http://book.csdn.net/bookfiles/551/10055118438.shtml

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章