零拷贝

作者: 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