第13篇:零拷贝技术详解
模块:Java I/O与NIO |难度:高级 |面试频率:★★★★
1. 什么是零拷贝?传统 IO 的 4 次上下文切换和 4 次数据拷贝?
核心概念
零拷贝(Zero-Copy)并非真正"零次拷贝",而是指在数据传输过程中,减少或消除 CPU 参与的数据拷贝操作,以及减少用户态与内核态之间的上下文切换次数。零拷贝技术由操作系统内核提供支持,核心目标是提升 I/O 性能。
传统 I/O 的数据传输过程
以经典的"读取文件并通过网络发送"场景为例,使用传统 I/O:
// 传统 I/O:读文件 + 发送网络Filefile=newFile