为什么用transferTo复制文件要快很多?
从文件A复制到文件B
使用transferTo的流程如下
把文件(A)从磁盘映射到堆外内存(A)
从堆外内存(A)复制到堆外内存(B)
传统的方式是
先从磁盘把文件(A)读入内核缓冲区(A)
transferTo没有这个步骤
从内核缓冲区(A)复制到堆外内存(A)
从堆外内存(A)复制到堆内内存(A)
transferTo 不需要经过堆内
从堆内内存(A)复制到堆外内存(B)