浅谈NIO与零拷贝

传统IO 传统IO的数据拷贝流程如下图: 数据需要从磁盘拷贝到内核空间,再从内核空间拷到用户空间(JVM)。 程序可能进行数据修改等操作 再将数据拷贝到内核空间,内核空间再拷贝到网卡内存,通过网络发送出去(或拷贝到磁盘)。 即数据的读写(这里用户空间发到网络也算作写),都至少需要两次拷贝。 当然磁盘到内核空间属于DMA拷贝(DMA即直接内存存取,原理是外部设备不通过CPU而直接与系统内存交换数据)
相关文章
相关标签/搜索