Sky. 
  • 首页
  • 归档
  • 分类
  • 标签
  •   
  •   

深入理解零拷贝技术

前言 零拷贝技术是指计算机执行操作时,CPU不需要先将数据从某处内存复制到另一个特定区域。这种技术通常用于通过网络传输文件时节省CPU周期和内存带宽。 原始的网络请求,需要数次在用户态和内核态之间切换以及数据的拷贝,这无疑大大影响了处理的效率,零拷贝技术就是为解决这一问题而诞生的。 我们常见的高性能组件(Netty、Kafka等),其内部基本都应用了零拷贝,在学习这些组件之前,有必要先了解什么是

2021-09-08
Linux
IO Linux

Java基础(一):I/O多路复用模型及Linux中的应用

IO多路复用模型广泛的应用于各种高并发的中间件中,那么区别于其他模式他的优势是什么、其核心设计思想又是什么、其在Linux中是如何实现的? I/O模型I/O模型主要有以下五种: 同步阻塞I/O:I/O操作将同步阻塞用户线程 同步非阻塞I/O:所有操作都会立即返回,但需要不断轮询获取I/O结果 I/O多路复用:一个线程监听多个I/O操作是否就绪,依然是阻塞I/O,需要不断去轮询是否有就绪的fd

2021-09-07
Java
Java IO Linux

Netty入门(三):EventLoop

前言 Netty系列索引: 1.Netty入门(一):ByteBuf 2.Netty入门(二):Channel IO相关: 1.Java基础(一):I/O多路复用模型及Linux中的应用 上文提到,早期基于线程的网络模型,处理高并发的能力非常差,随着请求数量的增多,必须不断新建线程,随之带来的问题就是服务器资源被占满、上下文切换成本过高以及IO阻塞导致的CPU浪费。 而Netty则使用了经典R

2021-09-06
Netty
Netty Java

Netty入门(二):Channel

前言 Netty系列索引: 1.Netty入门(一):ByteBuf 2.Netty入门(二):Channel 在Netty框架中,Channel是其中之一的核心概念,是Netty网络通信的主体,由它负责同对端进行网络通信、注册和数据操作等功能。本文我们来详细地分析 Netty 中的 Channel以及跟Channel相关的其他概念,包括ChannelPipeline、ChannelHandle

2021-09-01
Netty
Netty Java

Netty入门(一):ByteBuf

​ 网络数据的基本单位总是字节。Java NIO 提供了 ByteBuffer 作为它的字节容器,但是这个类使用起来过于复杂,而且也有些繁琐。Netty 的 ByteBuffer 替代品是 ByteBuf,一个强大的实现,既解决了 JDK API 的局限性,又为网络应用程序的开发者提供了更好的 API Netty系列索引: 1.Netty入门(一):ByteBuf 2.Netty入门(二)

2021-08-31
Netty
Netty Java NIO

搜索

总访问量 次 总访客数 人