淺談NIO與零拷貝

傳統IO 傳統IO的數據拷貝流程如下圖: 數據需要從磁盤拷貝到內核空間,再從內核空間拷到用戶空間(JVM)。 程序可能進行數據修改等操作 再將數據拷貝到內核空間,內核空間再拷貝到網卡內存,通過網絡發送出去(或拷貝到磁盤)。 即數據的讀寫(這裏用戶空間發到網絡也算作寫),都至少需要兩次拷貝。 當然磁盤到內核空間屬於DMA拷貝(DMA即直接內存存取,原理是外部設備不通過CPU而直接與系統內存交換數據)
相關文章
相關標籤/搜索