零拷贝详解

背景 在程序开发中,将文件磁盘发送到另一个网络端是很常见的场景,通过代码实现也很简单,比如Java中,可以使用Inputsteam分块读取文件(通常我们将缓存区设置为8KB),然后将缓存区数据输出到Outputstream中。更好一点的方式,是通过PipedInputStream实例,让它自己去管理缓存区。 然而如果为了性能考虑,这种先读取文件在发送文件的方式,在操作系统层面对资源是有极大的损耗。
相关文章
相关标签/搜索