代码改变世界

随笔分类 -  开源代码解读

[netty4][netty-handler]netty之idle handler处理

2019-12-03 23:54 by chen.simon, 685 阅读, 收藏, 编辑
摘要: 1. 初始化时记录idle时间,并启动一个延时任务,延时时间为idle时间,延时任务是io.netty.handler.timeout.IdleStateHandler.AllIdleTimeoutTask 2. channelReadComplete 会更新lastReadTime,lastWri 阅读全文

[netty4][netty-common]netty之ResourceLeakDetector的使用与实现

2019-12-03 22:49 by chen.simon, 1011 阅读, 收藏, 编辑
摘要: netty之ResourceLeakDetector的使用与实现 通过 WeakReference和ReferenceQueue 做针对 需要手动释放 的资源的侦测 使用 1. 设置日志级别: 2. ResourceLeakDetector.setLevel(ResourceLeakDetector 阅读全文

[netty4][netty-buffer]netty之池化buffer

2019-12-01 19:14 by chen.simon, 1023 阅读, 收藏, 编辑
摘要: PooledByteBufAllocator buffer分配 buffer分配的入口: io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(int, int) netty实际应用时分配调用栈: CLASS_NAMEMETHOD_NAMELI 阅读全文

以http server为例简要分析netty3实现

2019-02-14 07:42 by chen.simon, 449 阅读, 收藏, 编辑
摘要: 概要 最近看了点netty3实现。从webbit项目作为口子。 "webbit" 项目是一个基于netty3做的http与websocket server。后面还会继续看下netty4,netty4有很多改进,如其作者所说,有更少的GC,更丰富的SOCKET选项,更好的性能。此篇先谈netty3。 阅读全文

用virtualbox+模拟串口+CDT调试linux内核 TCP/IP协议栈-起步

2018-09-17 14:45 by chen.simon, 1834 阅读, 收藏, 编辑
摘要: 经常有人问一台机器如何将hello经网络发送给另一台机器,我确实是不知道,只能看代码了。 说明:本人对内核的研究学习也是刚刚起步,有很多不了解的,所以文中可能会有一些 “一本正经的胡扯” 。请大家辩证的阅读。注意这种方式不能调试 start_kernel等过程,我主要用来调试tcp/ip协议栈代码。 阅读全文

dubbo与zk注册中心如何对接,如何做到服务自动发现

2018-09-01 15:23 by chen.simon, 9493 阅读, 收藏, 编辑
摘要: 先看下consumer端发起调用时的链路流程: 1. 引入zookeeper作为注册中心后,服务查找过程 从建立spring到netty client建立连接的调用栈: NettyClient.doOpen() line: 66 NettyClient(AbstractClient).(URL, C 阅读全文

TPS限流

2018-08-31 19:34 by chen.simon, 1827 阅读, 收藏, 编辑
摘要: 限流是高可用服务需要具备的能力之一 ,粗暴简单的就像我们之前做的并发数控制。好一点的有tps限流,可用令牌桶等算法实现。《亿级流量网站架构核心技术》一书P67限流详解也有讲。dubbo提供了此机制,TpsLimitFilter。guava也提供了相应的工具类RateLimiter。 1. dubbo 阅读全文

tomcat6-servlet规范对接 与 ClassLoader隔离

2018-08-01 07:54 by chen.simon, 301 阅读, 收藏, 编辑
摘要: 之前写的一个ppt 搬到博客来 阅读全文

tomcat6-输入输出buffer设计

2018-08-01 07:52 by chen.simon, 359 阅读, 收藏, 编辑
摘要: 之前写的一个ppt 搬到博客来 阅读全文

tomcat6-endpoint设计

2018-08-01 07:50 by chen.simon, 374 阅读, 收藏, 编辑
摘要: 之前写的一个ppt 搬到博客来 阅读全文

图解spring事务管理的实现

2018-06-20 13:38 by chen.simon, 446 阅读, 收藏, 编辑
摘要: ![](https://images2018.cnblogs.com/blog/127449/201806/127449-20180620133712847-759889935.png) ![](https://images2018.cnblogs.com/blog/127449/201806/127449-20180620133658675-1181042073.png) 阅读全文

struts2对properties资源的处理

2017-05-30 16:46 by chen.simon, 845 阅读, 收藏, 编辑
摘要: struts2对properties资源的处理 做了一些功能增强 包括: 可以读取项的描述 可以读取项所在的行号,文件路径等 实现方式 继承了java的java.util.Properties实现了一个类LocatableProperties完成此事。 LocatableProperties对外公布 阅读全文

Spring core resourc层结构体系及JDK与Spring对classpath中资源的获取方式及结果对比

2017-05-29 23:18 by chen.simon, 284 阅读, 收藏, 编辑
摘要: 1. Spring core resourc层结构体系 1.1. Resource相关结构体系 1.2. ResourceLoader相关体系 2. JDK与Spring对classpath中资源的获取方式及结果对比 查看大图 图片看不清晰可以查看 excel文件。 3. spring对使用了通配符 阅读全文

rocketmq源码分析2-broker的消息接收

2017-02-05 19:37 by chen.simon, 2522 阅读, 收藏, 编辑
摘要: broker消息接收,假设接收的是一个普通消息(即没有事务),此处分析也只分析master上动作逻辑,不涉及ha。 1. 如何找到消息接收处理入口 可以通过broker的监听端口10911顺藤摸瓜式的找到 NettyClientConfig.setListenPort-->BrokerStartup 阅读全文

rocketmq源码分析1-benchmark学习

2017-02-02 19:59 by chen.simon, 1902 阅读, 收藏, 编辑
摘要: benchmark 分析 组成部分 三个java类,都含有main方法,可选的传递一些参数,诸如测试线程数量,消息体积大小。三个类分别用于测试普通生产者,事务生产者,消费者。生产者 默认64个测试线程 1280byte消息大小。 测试指标 普通生产者 这段时间内 每秒发送成功了多少条 采样时间断内 阅读全文

源码学习 系列

2016-11-30 09:31 by chen.simon, 655 阅读, 收藏, 编辑
摘要: 所有总结均为阅读后原创总结,不存在搬运或者抄袭。 --hotspot(JDK8-b120)-- 编译hotspot8 简单的main方法调用一个加减法函数背后的细节 函数指针与指针函数,直接向内存区域写入操作码并转成函数指针并调用 虚拟机解释器与bytecode对接 CallStub相关 JVM中对 阅读全文

dubbo源码分析5-dubbo的扩展点机制

2015-09-30 17:06 by chen.simon, 650 阅读, 收藏, 编辑
摘要: dubbo源码分析1-reference bean创建 dubbo源码分析2-reference bean发起服务方法调用 dubbo源码分析3-service bean的创建与发布 dubbo源码分析4-基于netty的dubbo协议的server dubbo源码分析5-dubbo的扩展点机制 d 阅读全文

dubbo源码分析4-基于netty的dubbo协议的server

2015-09-30 15:10 by chen.simon, 1066 阅读, 收藏, 编辑
摘要: dubbo源码分析1-reference bean创建 dubbo源码分析2-reference bean发起服务方法调用 dubbo源码分析3-service bean的创建与发布 dubbo源码分析4-基于netty的dubbo协议的server dubbo源码分析5-dubbo的扩展点机制 d 阅读全文

dubbo源码分析3-service bean的创建与发布

2015-09-23 15:08 by chen.simon, 706 阅读, 收藏, 编辑
摘要: dubbo源码分析1-reference bean创建 dubbo源码分析2-reference bean发起服务方法调用 dubbo源码分析3-service bean的创建与发布 dubbo源码分析4-基于netty的dubbo协议的server dubbo源码分析5-dubbo的扩展点机制 dubbo源码分析6-telnet方式的管理实现 和reference的实现思路略有不同1. 在spr... 阅读全文

dubbo源码分析2-reference bean发起服务方法调用

2015-09-23 10:28 by chen.simon, 1139 阅读, 收藏, 编辑
摘要: dubbo源码分析1-reference bean创建 dubbo源码分析2-reference bean发起服务方法调用 dubbo源码分析3-service bean的创建与发布 dubbo源码分析4-基于netty的dubbo协议的server dubbo源码分析5-dubbo的扩展点机制 dubbo源码分析6-telnet方式的管理实现 在duboo源码分析1-reference bean... 阅读全文