這里主要圍繞著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則是提供了一種可以以單線程非阻塞的方式,來處理多個連接。

網(wǎng)友評論