目录

菠萝🍍的博客

有谁不喜欢吃菠萝呢

标签: 零拷贝 (1)

【转载】Java中的零拷贝

原文出自知乎:Java中的零拷贝 Java中的零拷贝 先提出两个问题: IO过程中,哪些步骤进行了拷贝?哪些地方零拷贝? Java支持哪些零拷贝? 带着这俩问题,我们一起来看下面的探究。 哪里听说过零拷贝?真的0次拷贝吗? 相信大家伙在以往的学习中,或多或少在下面这些组件、框架中有听说过零拷贝 (Zero-Copy)? Kafka Netty rocketmq nginx apache 什么是零拷贝? 零拷贝(英语: Zero-copy) 技术是指计算机执行操作时,CPU不需要先将数据从某处内存复制到另一个特定区域。这种技术通常用于通过网络传输文件时节省CPU周期和内存带宽。 ➢零拷贝技术可以减少数据拷贝和共享总线操作的次数,消除传输数据在存储器之间不必要的中间拷贝次数,从而有效地提高数据传输效率 ➢零拷贝技术减少了用户进程地址空间和内核地址空间之间因为上:下文切换而带来的开销 可以看出没有说不需要拷贝,只是说减少冗余[不必要]的拷贝。 LinuxI/O机制及零拷贝介绍 IO中断与DMA IO中断,需要CPU响应,需要CPU参与,因此效率比较低。 用户进程需要读取磁盘数据,需....