這里主要圍繞著Java NIO展開,從Java NIO的基本使用,到介紹Linux下NIO API,再到Java Selector
其底層的實現(xiàn)原理。
Java NIO基本使用
Linux下的NIO系統(tǒng)調(diào)用介紹
Selector原理
Channel和Buffer之間的堆外內(nèi)存
Java NIO基本使用
從JDK NIO文檔里面可以發(fā)現(xiàn),Java將其劃分成了三大塊:Channel
,Buffer
以及多路復(fù)用Selector
。Channel的存在,封裝了對什么實體的連接通道(如網(wǎng)絡(luò)/文件);Buffer封裝了對數(shù)據(jù)的緩沖存儲,最后對于Selector則是提供了一種可以以單線程非阻塞的方式,來處理多個連接。