首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Netty
订阅
Cinyky
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
netty 堆外内存泄露排查盛宴
最近在做一个基于 websocket 的长连中间件,服务端使用实现了 socket.io 协议(基于websocket协议,提供长轮询降级能力) 的 netty-socketio 框架,该框架为 netty 实现,鉴于本人对 netty 比较熟,并且对比同样实现了 socket…
netty源码分析之pipeline(二)
顾名思义,unsafe是不安全的意思,就是告诉你不要在应用程序里面直接使用Unsafe以及他的衍生类对象。
netty源码分析之pipeline(一)
1.以新连接创建为例,新连接创建的过程中创建channel,而在创建channel的过程中创建了该channel对应的pipeline,创建完pipeline之后,自动给该pipeline添加了两个节点,即ChannelHandlerContext,ChannelHandler…
netty源码分析之揭开reactor线程的面纱(三)
今天,我们要进行的是三部曲中的最后一曲【处理任务队列】,也就是上面图中的紫色部分。 一. 用户自定义普通任务 二. 非当前reactor线程调用channel的各种方法 三. 用户自定义定时任务 但是,万一有的用户在reactor之外执行定时任务呢?虽然这类场景很少见,但是ne…
netty源码分析之新连接接入全解析
这里的继承关系有所简化,当前,我们只需要了解这么多。
Netty源码分析之LengthFieldBasedFrameDecoder
上面这类数据包协议比较常见的,前面几个字节表示数据包的长度(不包括长度域),后面是具体的数据。拆完之后数据包是一个完整的带有长度域的数据包(之后即可传递到应用层解码器进行解码),创建一个如下方式的LengthFieldBasedFrameDecoder即可实现这类协议 2. 长…
Netty 源码分析之拆包器的奥秘
使用一个成员变量 discardedBytes 来表示已经丢弃了多少数据,然后将字节容器的读指针移到写指针,意味着丢弃这一部分数据,设置成员变量discarding为true表示当前处于丢弃模式。如果设置了failFast,那么直接抛出异常,默认情况下failFast为fals…
netty源码分析之揭开reactor线程的面纱(二)
到这里,我们初次阅读源码的时候对reactor的第二个步骤的了解已经足够了。总结一下:netty的reactor线程第二步做的事情为处理IO事件,netty使用数组替换掉jdk原生的HashSet来保证IO事件的高效处理,每个SelectionKey上绑定了netty类Abst…
netty源码分析之揭开reactor线程的面纱(一)
该线程就是executor创建,对应netty的reactor线程实体。executor 默认是ThreadPerTaskExecutor 关于reactor线程的创建和启动就先讲这么多,我们总结一下:netty的reactor线程在添加一个任务的时候被创建,该线程实体为 Fa…
netty源码分析之服务端启动全解析
我们在新美大消息推送系统sailfish(日均推送消息量50亿),新美大移动端代理优化系统shark(日均吞吐量30亿)中,均选择了netty作为底层网络通信框架。 既然两大如此重要的系统底层都使用到了netty,所以必然要对netty的机制,甚至源码了若指掌,于是,便催生了n…