零拷贝

作者: go_2021 | 来源:发表于2022-02-02 19:49 被阅读0次

耐心是一切聪明才智的基础。

零拷贝

两者的写入都是写入内存,可以调用force方法强刷到硬盘。

  • mmap

    • 3次copy 4次上下文切换
    • java 对应 MappedByteBuffer方法
  • sendfile

    • 3次copy 3次上下文切换
    • linux2.4 2次copy 3次上下文切换
    • java对应 transferTo方法

自己试了试:

  • 复制s.mkv文件 文件大小2m
    stream复制文件,耗时: 10144
    buffer+stream复制文件,耗时: 51
    mmapCopy复制文件,耗时: 22
    transferTo复制文件,耗时: 5
clone

A c = a.clone() 是拷贝,复制一份出来,对象就是引用地址。
需要里面引用的对象也实现clone接口 才能深拷贝

参考:
https://www.jianshu.com/p/0c8bfde432a0
https://zhuanlan.zhihu.com/p/78869158

相关文章

网友评论

      本文标题:零拷贝

      本文链接:https://www.haomeiwen.com/subject/oajrkrtx.html