1.拷貝實(shí)現(xiàn)機(jī)制
用戶態(tài)空間(User Space)——給普通應(yīng)用和服務(wù)使用
內(nèi)核態(tài)空間(Kernel Space)——操作系統(tǒng)內(nèi)核埂陆、硬件驅(qū)動(dòng)等運(yùn)行在內(nèi)核態(tài)空間破加,具有相對(duì)高的特權(quán)疮装。
基于輸入輸出流進(jìn)行獨(dú)寫時(shí)候:實(shí)際上是進(jìn)行了多次上下文切換婶溯,比如應(yīng)用讀取數(shù)據(jù)時(shí)渴邦,先在內(nèi)核態(tài)將數(shù)據(jù)從磁盤讀取到內(nèi)核緩存走触,再切換到用戶態(tài)將數(shù)據(jù)從內(nèi)核緩存讀取到用戶緩存——開銷大
基于NIO transferTo:在Linux和Unix上主胧,會(huì)采用零拷貝技術(shù)叭首,數(shù)據(jù)傳輸不需要用戶態(tài)參與,省去了上下文切換的開銷和不必要的內(nèi)存拷貝踪栋。