会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
朵巴阁
博客园
新随笔
管理
2020年2月8日
10.PoolArena
摘要: "PoolArena" "PoolArena成员介绍" "PoolChunkList" "PoolChunkList实例化" "PoolChunkList添加PoolChunk" "PoolChunkList移动PoolChunk" "PoolChunkList申请内存" "PoolChunkLis
阅读全文
posted @ 2020-02-08 09:13 朵巴阁
阅读(228)
评论(0)
推荐(0)
2020年1月31日
9.PoolSubpage
摘要: "PoolSubPage" "PoolSubPage初始化" "初始化chunk等成员变量" "计算最大poolSubpage数量" "添加poolSubpage到PoolArena的双向链表中" "PoolSubpage分配内存" "找到对应PoolSubpage数组" "找到subpage对应的
阅读全文
posted @ 2020-01-31 19:28 朵巴阁
阅读(272)
评论(0)
推荐(0)
8.池化内存分配
摘要: "netty内存管理思想" "PooledByteBufAllocate" "PoolChunk" "Chunk初始化" "PoolChunk分配内存" netty内存管理思想 java作为一门拥有GC机制的语言,长久以来它的使用者都不必手动管理内存,这比起c/c++是一个巨大的进步。但现在nett
阅读全文
posted @ 2020-01-31 19:27 朵巴阁
阅读(418)
评论(0)
推荐(0)
2020年1月6日
7.netty内存管理-ByteBuf
摘要: "ByteBuf" "ByteBuf是什么" "ByteBuf重要API" "read、write、set、skipBytes" "mark和reset" "duplicate、slice、copy" "retain、release" "ByteBuf扩容" "ByteBuf种类" "ByteBuf
阅读全文
posted @ 2020-01-06 22:21 朵巴阁
阅读(722)
评论(0)
推荐(0)
2019年12月29日
6.ChannelPipeline
摘要: "pipeline和handler" "ChannelPipline" "ChannelHandler" "ChannelHandlerContext" "pipeline的初始化" "handler的添加和删除" "handler的传播顺序" "inbount事件的传播" "pipeline与co
阅读全文
posted @ 2019-12-29 22:36 朵巴阁
阅读(663)
评论(0)
推荐(0)
2019年12月14日
5.接入客户端连接
摘要: "服务端发现新连接" "循环读取read事件" "将新连接交给pipeline处理" "收尾工作" "清除感兴趣事件" "两种Channel的类比关系" "感想" 服务端发现新连接 在服务端启动过程中,ServerBootstrap通过反射的方式创建了一个NioServerSocketChannel
阅读全文
posted @ 2019-12-14 19:38 朵巴阁
阅读(453)
评论(0)
推荐(0)
2019年12月5日
4.Netty执行IO事件和非IO任务
摘要: "回顾NioEventLoop的run方法流程" "IO事件与非IO任务" "处理IO事件" "处理非IO任务" "聚合定时任务到普通任务队列" "从普通队列中获取任务" "计算任务执行的超时时间" "安全执行" "计算是否超时" "总结" 回顾NioEventLoop的run方法流程 上文说到Ni
阅读全文
posted @ 2019-12-05 23:05 朵巴阁
阅读(1354)
评论(0)
推荐(2)
2019年11月27日
3.NioEventLoop的启动和执行
摘要: NioEventLoop启动和执行 NioEventLoop启动 在服务端启动的代码中,我们看到netty在注册和绑定时,判断了当前线程是否是NioEventLoop线程。如果不是, 则将这些操作包装成一个任务丢到EventExecutor中来完成。 在execute方法中,再次判断是否是NioEv
阅读全文
posted @ 2019-11-27 21:02 朵巴阁
阅读(551)
评论(0)
推荐(0)
2019年11月20日
2.NioEventLoop的创建
摘要: NioEventLoop的创建 NioEventLoop是netty及其重要的组成部件,它的首要职责就是为注册在它上的channels服务,发现这些channels上发生的新连接、读写等I/O事件,然后将事件转交 channel 流水线处理。使用netty时,我们首先要做的就是创建NioEventL
阅读全文
posted @ 2019-11-20 20:14 朵巴阁
阅读(500)
评论(6)
推荐(0)
2019年11月11日
1.netty服务端的创建
摘要: 服务端的创建 示例代码 netty源码中有一个netty example项目,不妨以经典的EchoServer作为楔子。 整个流程可以分为几个步骤 1. 创建workerGroup和bossGroup 2. 创建ServerBootstrap,并设置参数 3. 通过Serverbootstrap引导
阅读全文
posted @ 2019-11-11 22:54 朵巴阁
阅读(302)
评论(0)
推荐(1)