![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
源码阅读系列
文章平均质量分 87
源码阅读系列博客
思考的陈
思考、沉淀
展开
-
【Spring源码】JDBC数据源访问实现
我们再来看看阅读线索三,这方面我们从设计模式进行入手。阅读线索三:从这个模块可以学到什么我们看下以下代码,PreparedStatement实例的是由PreparedStatementCreator实现的。再来看看PreparedStatementCreator接口,一共有三个子类实现。也就是说PreparedStatement的三种不同实现被封装到三个子类中,而具体需要哪种实现,只需要传入不同。原创 2024-04-11 17:12:50 · 974 阅读 · 2 评论 -
【Spring源码】WebSocket做推送动作的底层实例
我们都知道WebSocket可以主动推送消息给用户,那做推送动作的底层实例究竟是谁?我们先整体看下整个模块的组织机构。可以看到handleMessage方法定义了每个消息格式采用不同的消息处理方法,而这些方法该类并**没有实现**,而是留给了子类去实现。原创 2024-03-29 18:12:46 · 1093 阅读 · 0 评论 -
【Spring源码】Bean采用什么数据结构进行存储
我们再来看看中间新加入的阅读线索4,不知大家忘记了没。我们可以对照图片1的代码组织结构,发现这些没存储在包里的功能类都是比较杂乱的,想必是Spring觉得目前这些功能类还构不成一个包的体系,可能后面规模更大会统一集成起来管理。原创 2024-03-26 20:19:16 · 811 阅读 · 0 评论 -
【Apache ShenYu源码】如何实现负载均衡模块设计
整个模块为ShenYu提供了什么功能。我们可以看下上文我们提到的工厂对象。/***/核心方法很清晰,我们传入Upsteam列表,通过这个模块的负载均衡算法,负载均衡地返回其中一个对象。这也就是这个模块提供的功能。原创 2024-03-21 17:20:54 · 752 阅读 · 1 评论 -
【Apache ShenYu源码】看看贡献者如何实现支持提醒通知设计
在阅读中,还发现了有个html文件忘记加了开源协议,我们提下PR修复下,又收获了一次开源贡献!!PR提交戳这。原创 2024-03-19 17:40:49 · 765 阅读 · 0 评论 -
【还不会Spring源码】单例创建期间进行同步可能会导致死锁?
通过这个标题我们就可以思考本次的阅读线索了,看起来可以学到不少东西。1. 旧代码的死锁是怎么产生的。2. 贡献者通过改变什么来解决本次PR的问题呢?而阅读线索2的答案也显而易见,就是上文提到的通过后台线程来创建Micrometer单例...原创 2024-03-10 14:41:35 · 893 阅读 · 1 评论 -
【想进大厂还不会阅读源码】ShenYu源码-支持motan协议
ShenYu源码阅读📚。原来的插件只支持 motan2 协议,并且是硬编码的,本次修改使MotanRpcExt 得到增强。我们可以通过以上的线索来思考我们本次的阅读线索,贡献者是做了什么实现了增强motan插件、这个motan的插件的功能是什么。原创 2024-02-29 22:39:09 · 387 阅读 · 0 评论 -
【想进大厂还不会阅读源码】ShenYu源码-重构同步数据服务
ShenYu源码阅读📚。我们看下PR的标题和Concersation的头一句,大概意思就是重构注册中心数据同步到ShenYu网关的方式。大家看看重构了有没好处呢?不仅获得了知识,还获得了一次开源贡献,何乐而不为呢原创 2024-02-27 15:37:55 · 771 阅读 · 0 评论 -
【想进大厂还不会阅读源码】ShenYu源码-接入注册中心发现服务
ShenYu源码阅读。相信大家碰到源码时经常无从下手🙃,不知道从哪开始阅读😭。我们先思考下我们的阅读线索,贡献者是怎么添加发现服务的。这些发现服务是怎么和项目集成的,让ShenYu网关能从注册中心获取节点信息?原创 2024-02-24 17:31:10 · 876 阅读 · 0 评论 -
【想进大厂还不会阅读源码】ShenYu源码-替换ZooKeeper客户端
ShenYu源码阅读。相信大家碰到源码时经常无从下手,不知道从哪开始阅读😭。我认为有一种办法可以解决大家的困扰!至此,我们发现自己开始从大量堆砌的源码中脱离开来😀。ShenYu是一个异步的,高性能的,跨语言的,响应式的 API 网关。原创 2024-02-22 21:31:38 · 1288 阅读 · 0 评论 -
【源码阅读最轻松的方法】之shenyu网关-扩展性优化
那我们好奇本次优化的点究竟是什么呢,我们看下旧代码的实现可以找到答案,其实本次优化是为了后续可扩展性,把重复的代码抽象起来。可以看到ZooKeeper、Nacos、Concus的数据同步都有重复的入参,且这3个实现类实现相同的功能竟然没有一个父类来承接。我们回顾AbstractDataChangedInit提到的,这步就是一个优化了,把重复的SyncDataService入参抽象到父类AbstractDataChangedInit,同时让实现相关功能的类都有相同的父类来进行归类。原创 2024-02-21 17:39:48 · 517 阅读 · 0 评论 -
超越源码阅读之shenyu网关-响应参数插件
超越源码阅读之shenyu网关-响应参数插件原创 2024-02-20 22:29:20 · 383 阅读 · 0 评论