首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
binecy
掘友等级
《Redis核心原理与实践》作者,欢迎关注个人技术公众号binecy
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
Netty源码解析 -- PoolChunk实现原理
本文主要分享Netty中PoolChunk如何管理内存。 首先说明PoolChunk内存组织方式。 PoolChunk的内存大小默认是16M,Netty将它划分为2048个page,每个page为8K。 PoolChunk上可以分配Normal内存块。 Normal内存块大小必…
Netty源码解析 -- 内存池与PoolArena
但直接内存的创建和释放可能需要涉及系统调用,是比较昂贵的操作,如果每个请求都创建和释放一个直接内存,那性能肯定是不能满足要求的。 这时就需要使用内存池。 即从系统中申请一大块内存,再在上面分配每个请求所需的内存。 Netty中的内存池主要涉及PoolArena,PoolChun…
Netty源码解析 -- 内存对齐类SizeClasses
在学习Netty内存池之前,我们先了解一下Netty的内存对齐类SizeClasses,它为Netty内存池中的内存块提供大小对齐,索引计算等服务方法。 SizeClasses初始化后,将计算chunkSize(内存池每次向操作系统申请内存块大小)范围内每个size的值,保存到…
Netty源码解析 -- 零拷贝机制与ByteBuf
本文来分享Netty中的零拷贝机制以及内存缓冲区ByteBuf的实现。 1.文件传输类DefaultFileRegion#transferTo,调用FileChannel#transferTo,直接将文件缓冲区的数据发送到目标Channel,减少用户缓冲区的拷贝(通过linux…
Netty源码解析 -- ChannelOutboundBuffer实现与Flush过程
前面文章说了,ChannelHandlerContext#write只是将数据缓存到ChannelOutboundBuffer,等到ChannelHandlerContext#flush时,再将ChannelOutboundBuffer缓存的数据写到Channel中。 本文分享…
Netty源码解析 -- 事件循环机制实现原理
本文主要分享Netty中事件循环机制的实现。 前面分享服务端和客户端启动过程的文章中说过,Netty通过事件循环机制(EventLoop)处理IO事件和异步任务,简单来说,就是通过一个死循环,不断处理当前已发生的IO事件和待处理的异步任务。示例如下 这种事件循环机制也是一种常用…
Netty源码解析 -- 客户端启动过程
上一篇文章分享了Netty服务端启动过程,本文继续分享Netty客户端启动过程。 客户端启动过程比较简单,主要是Connect操作。 Netty客户端启动引导类是Bootstrap,同样继承了AbstractBootstrap,它只有一个EventLoopGroup,下文称为C…
Netty源码解析 -- ChannelPipeline机制与读写过程
本文继续阅读Netty源码,解析ChannelPipeline事件传播原理,以及Netty读写过程。 Netty中的ChannelPipeline可以理解为拦截器链,维护了一个ChannelHandler链表,ChannelHandler即具体拦截器,可以在读写过程中,对数据进…
Netty源码解析 -- 服务端启动过程
本文通过阅读Netty源码,解析Netty服务端启动过程。 Netty是一个高性能的网络通信框架,支持NIO,OIO等多种IO模式。通常,我们都是使用NIO模式,该系列文章也是解析Netty下NIO模式的实现。 Netty中NIO网络通信过程在此基础上实现,下面来看一下具体实现…
SpringCloud源码解析 -- Eureka原理探究
本文通过阅读Eureka源码,分享Eureka的实现原理。 本文主要梳理Eureka整体设计及实现,并不一一列举Eureka源码细节。 Eureka分为Eureka Client,Eureka Server,多个Eureka Server节点组成一个Eureka集群,服务通过E…
下一页
个人成就
文章被点赞
97
文章被阅读
66,294
掘力值
1,793
关注了
3
关注者
58
收藏集
0
关注标签
9
加入于
2020-03-14