Skip to content

Latest commit

 

History

History
127 lines (61 loc) · 3.69 KB

17.彻底明白java零拷贝.md

File metadata and controls

127 lines (61 loc) · 3.69 KB

17 彻底明白java零拷贝

首先明确一下概念

DMA出现之前的IO模式是什么样的

PIO模式有什么缺点

什么是DMA技术

DMA模式下的IO流程是怎样的

DMA模式的优点

java传统IO操作的数据读写流程

在IO传输的过程中,如何进行零拷贝的优化

减少用户空间和内核空间的拷贝优化

这里注意一下
这里说的是堆外内存和内核空间的拷贝,暂时不说堆外和jvm内存之间的拷贝,这样呢,减少了一次拷贝
具体流程如下

mmap + write方式的特点

Java中如何体现 mmap

如何减少内核之间的复制

sendfile + DMA Gather Copy的工作流程

sendfile + DMA Gather Copy 模式的优缺点

Java中如何体现sendfile呢

transferTo / transferFrom 对应的是 sendfile begin / end 的底层封装

令拷贝在消息队列中的应用

splice系统调用

splice 零拷贝的特点

减少JVM堆内存的内存复制

其中,ByteBuffer可以是堆内存,也可以是DirectByteBuffer 直接内存,也就是堆外内存

Java中NIO的写入操作的流程源码

直接内存的优点

直接内存的缺点

// TODO

👇 👇 👇

重点 👆 👆 👆