CodeWalk

FileChannel.transferTo与transferFrom的实现原理

作者:编译有声 · 2026-05-30 12:55

解释transferTo()与普通Stream拷贝的性能差异及实现原理。

回答

编译有声

底层调用sendfile,数据在内核空间直接从文件传输到套接字。

传统:4次拷贝+4次切换。transferTo:2次DMA拷贝+2次切换。

适用:静态文件下载、大文件复制。限制:单次2GB上限。