攻破JAVA NIO技術(shù)壁壘http://www.importnew.com/19816.html
JAVA IO 以及 NIO 理解
在文件讀寫方面,java io與nio沒有多少差別,nio的FileChannel只能在阻塞模式下工作。
在網(wǎng)絡(luò)傳輸方面,Socket服務(wù)端是可以設(shè)置為非阻塞的,在這種模式下,當(dāng)多個(gè)客戶端連接時(shí),能夠保證服務(wù)端的任何時(shí)間都是處理就緒的內(nèi)容,不會(huì)把時(shí)間浪費(fèi)在等待上。
例如,當(dāng)一個(gè)連接處理連接過程中時(shí),服務(wù)端需要等待連接完成,使用nio,連接完成會(huì)作為一個(gè)事件存在,服務(wù)端接受的都是就緒的事件。
當(dāng)客戶端向服務(wù)端寫數(shù)據(jù)時(shí),服務(wù)端不會(huì)等待寫入完成,而只是循環(huán)從Buffer中取已寫入完成的數(shù)據(jù)。