最近項目中用到了netty框架,瞭解netty前的要先了解下io的知識,目前java中io的種類以下。java
bio網絡
應用程序在獲取網絡數據的時候,若是網絡傳輸數據很慢,那麼程序就一直等着,直至傳輸完畢爲止。框架
舉個栗子:8個字節的傳輸,只有把字節所有加入到流裏面,纔會進行讀取。異步
nio函數
就是函數在不能馬上獲取到結果的時候,也馬上返回。 可是,須要一直查詢是否完整得到結果以便結束。spa
舉個栗子:8個字節的傳輸,加入流裏只有4個字節的數據,非阻塞的調用就會直接返回4個字節的數據,另外4個字節的數據,那就等它們到了再來讀取。而後,有個方法會一值查詢是否完成netty
aio同步
就是函數在不能馬上獲取到結果的時候,也馬上返回。 當完成結果時,會主動通知,無需一直查詢。io
舉個栗子:8個字節的傳輸,當完成八個字節接收時,會主動進行通知。nio