首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
飞天御剑流
掘友等级
java开发工程师
|
666
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
6
文章 5
沸点 1
赞
6
返回
|
搜索文章
最新
热门
Netty4.1源码阅读——核心(EventLoop)
EventLoopGroup在没看源码之前,我把他理解为是一个管理EventLoop的组,而EventLoop是netty封装好的线程池模型,不知道我这样想得对不对,分析一下源码。 EventLoopGroup仅有几个注册方法和next方法,EventLoopGroup会调用n…
Netty4.1源码阅读——核心(DefaultChannelPipeline)
本想从Bootstrap开始,跟着netty的启动流程一路分析下去,但是netty的系统的确复杂,在阅读了整个流程后,决定从ChannelPipeline开始,ChannelPipeline的特点明显而方法不多,是整个netty的大动脉。 注意initChannel这个方法,我…
Netty4.1源码阅读——前传(FastThreadLocal)
上一篇文章分析了netty将对象进行回收利用,而内部没用使用JAVA的ThreadLoacl,而是使用了FastThreadLocal来保存变量,FastThreadLocal其Fast在哪里,一看源码便知。 想要实现加速效果,创建的线程必须是FastThreadLocalTh…
Netty4.1源码阅读——前传(Recycler)
最近在看netty源码,在阅读netty的过程中,深深的感到系统实现比较复杂,而源码不只是了解实现逻辑,还要从中挖掘出一些有价值的东西,学习到一些技术能够运用到实际的生产环境中。在探究netty高性能的原因途中,发现了一些代码觉得挺有用,所以记录下来以供参考。 由于java在运…
手撕红黑树-手绘图文并茂
红黑树是自平衡的二叉查找树,在许多地方都有实际应用比如JAVA的HashMap,在链表长度大于8就会转化为红黑树;在linux经典的epoll中也使用了红黑树来保存文件描述符的插入删除操作。++如果频繁的对数据进行插入删除,还要保证效率,使用红黑树是比较好的选择。++ 红黑树在…
Dubbo源码分析(6)—— 集群容错
由于实际的生产环境下是不太可能出现单服务情况,往往都是zk或其他注册中心组成的集群环境,使得服务高可用更加健壮。 这里new了一个RegistryDirectory,并且调用了subscribe方法,在subscribe方法调用完成后就会触发notify,RegistryDir…
Dubbo源码分析(5)—— 负载均衡
AbstractLoadBalance继承了LoadBalance接口,并且定义了一个抽象方法doSelect,用于子类实现的模板方法。 遍历每个服务,各自加上自己的权重,权重最大的被选中。 将所有的虚拟机节点4个分为一组,根据md5算法为每4个结点生成一个消息摘要,摘要长为1…
Dubbo源码分析(4)—— 服务消费
上一篇文章分析了zookeeper注册中心的源码,目前为止服务已经完全暴露,连接zookeeper客户端已经能够查询到目录信息,接下来的流程就是服务消费了,dubbo支持多种消费方式包括使用telnet等。这一期从spring获取Bean方式开始,通过源码查看完整的消费流程。 …
Dubbo源码分析(3)—— 注册中心
上一篇文章提到ServiceConfig处理url信息后交给DubboProtocol进行服务的暴露,开启了netty服务器,随后可以看到ServiceConfig的代码就结束。那么是如何将服务写入到注册中心呢? Zookeeper是一个树形结构的注册中心,可以把它看作是目录结…
Dubbo源码分析(2)—— 服务是如何暴露的
表示了DemoService这个接口,依赖了domoService这个bean,表示我们使用DemoService这个接口去请求dubbo服务器,会调用DemoServiceImpl这个实现类去处理。 dubbo:service是dubbo自定义的xml方式,bean标签则是属…
下一页
个人成就
文章被点赞
38
文章被阅读
29,616
掘力值
1,190
关注了
11
关注者
26
收藏集
2
关注标签
19
加入于
2020-06-19