看啥推荐读物
专栏名称: 51CTO技术栈
有趣 | 有料 | 有内涵,为您提供最优质的内容,愿我们一起悦享技术,成就人生。
今天看啥  ›  专栏  ›  51CTO技术栈

Netty、Kafka中的零拷贝技术到底有多牛?

51CTO技术栈  · 公众号  · 程序员  · 2020-02-24 18:05
“ 零拷贝,从字面意思理解就是数据不需要来回的拷贝,大大提升了系统的性能。图片来自 Pexels我们也经常在 Java NIO,Netty,Kafka,RocketMQ 等框架中听到零拷贝,它经常作为其提升性能的一大亮点;下面从 I/O 的几个概念开始,进而再分析零拷贝。I/O 概念 缓冲区缓冲区是所有 I/O 的基础,I/O 讲的无非就是把数据移进或移出缓冲区;进程执行 I/O 操作,就是向操作系统发出请求,让它要么把缓冲区的数据排干(写),要么填充缓冲区(读)。下面看一个 Java 进程发起 Read 请求加载数据大致的流程图:进程发起 Read 请求之后,内核接收到 Read 请求之后,会先检查内核空间中是否已经存在进程所需要的数据,如果已经存在,则直接把数据 Copy 给进程的缓冲区。如果没有内核随 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照