Advertisement

Java NIO的零拷贝演示

阅读量:

Java NIO 零拷贝 演示

  • 一、传统IO演进(详细机制需要参考操作系统知识进行理解)
      • 1.用户态与内核态,需经历四次数据复制以及三次状态转换
      • 2.内存映射优化(MMAP)需经历三次数据复制以及三次状态转换
      • 3.Linux2.1 SendFile 优化,需经历三次数据复制以及两次状态转换
      • 4.Linux2.4 内核修改,需经历两次数据复制以及两次状态转换
    • 二、零拷贝演示

      • 1.传统IO

        • 1.服务端
        • 2.客户端
        • 3.首先启动服务端,随后启动客户端,并观察运行结果
      • 2.零拷贝IO

        • 1.服务端
        • 2.客户端
        • 3.首先启动服务端,随后启动客户端,并观察运行结果

一、传统IO演进(详细机制需要参考操作系统知识进行理解)

1.用户态与内核态,需要经过 4 次拷贝和 3 次切换

复制代码
    Data Memory Access 直接内存拷贝
    KernelBuffer       内核缓冲区
    CpuCopy            通过CPU拷贝
    UserBuffer         用户缓冲区
    SocketBuffer       Socket

全部评论 (0)

还没有任何评论哟~