Hi試着瞭解零複製原理。 Wikipedia說在Mac中支持零複製原則
幾個操作系統支持通過 特定的API零拷貝文件。
Linux內核支持零拷貝通過各種系統調用,如 sys/socket.h的sendfile,sendfile64和splice。他們中的一些 在POSIX規定,因此也存在於BSD內核或IBM AIX ,有些是獨有的Linux內核API。
的Microsoft Windows支持通過API的TransmitFile零拷貝。
如果底層 操作系統也支持零拷貝,則Java輸入流可以支持零拷貝通過 java.nio.channels.FileChannel的transferTo()方法。
我沒有看到任何提及的OSX,雖然它說現在在BSD內核。
但http://www.bigfastblog.com/zero-copy-transfer-data-faster-in-ruby博客說,它在OSX不支持。