从一次问题讨论聊聊我对阅读源码的思考

栏目: 后端 · 发布时间: 5年前

从一次问题讨论聊聊我对阅读源码的思考

从一次问题讨论聊聊我对阅读源码的思考

从一次问题讨论聊聊我对阅读源码的思考

从一次问题讨论聊聊我对阅读源码的思考

从一次问题讨论聊聊我对阅读源码的思考

从一次问题讨论聊聊我对阅读源码的思考

从一次问题讨论聊聊我对阅读源码的思考

从一次问题讨论聊聊我对阅读源码的思考

从一次问题讨论聊聊我对阅读源码的思考

从一次问题讨论聊聊我对阅读源码的思考

从一次问题讨论聊聊我对阅读源码的思考

从一次问题讨论聊聊我对阅读源码的思考

比如本文,没有深度思考的同学,很容易就被表面现象所迷惑,以为问题就此解决,立马关掉文章。但是深度思考的同学就会选择关注肥朝公众号,然后星标置顶,并思考,肥朝为什么能迅速找到这个关键的类呢?这个才是最核心的问题!一定要明白什么叫"解决一个问题"和"解决一类问题"!如果你没有掌握分析问题的方法和技巧,下次遇到其他的注解,你还是解决不了,那又有什么意义?

从一次问题讨论聊聊我对阅读源码的思考

分析问题

由于肥朝之前写过Dubbo系列的源码解析,公众号也大多是老粉丝,那么我就以Dubbo为例,说下分析问题的思路。当然这个时候喜欢抬杠的同学可能就要反驳了,这个问题不是Springboot的吗,和Dubbo有什么关系?我只能说,优秀的代码,套路思想都基本相同,坑爹的代码,却各有各种不同的坑法。拿Dubbo来分析,并不影响你发现问题的本质!

比如Dubbo中常强调的就是"微核心"、"插件式"。梁飞曾经提过

即然要扩展,扩展点的加载方式,首先要统一, 微核心+插件式,是比较能达到OCP原则的思路,由一个插件生命周期管理容器,构成微核心,核心不包括任何功能,这样可以确保所有功能都能被替换, 并且,框架作者能做到的功能,扩展者也一定要能做到,以保证平等对待第三方, 所以,框架自身的功能也要用插件的方式实现,不能有任何硬编码。

很多同学看完这段一脸懵逼。其实这段话的后半部分是关键

框架作者能做到的功能,扩展者也一定要能做到,以保证平等对待第三方, 所以,框架自身的功能也要用插件的方式实现,不能有任何硬编码。

所以从这段话肥朝就可以断定, actuator 如果要用定时器的功能,他肯定站在和普通使用者也就是公众号粉丝使用定时器的角度,去启动这个定时器的功能。

也就是说, spring-boot-starter-actuator 中,肯定是有类打上了 @EnableScheduling 注解,而不是零散的调用注解底层封装的一些东西。这个是理论基础。这个理论基础,才能决定你下一步的思考和行动方向。

有了理论基础,那么关键是,到底哪个类打上了啊!这个时候,我们可以利用idea的搜索技巧来

从一次问题讨论聊聊我对阅读源码的思考

idea的这个搜索功能很好用,搜索scope可以设置各种范围,看源码必备技能!

考虑到每个人的快捷键不同,因此看下图

从一次问题讨论聊聊我对阅读源码的思考

敲黑板划重点

看到这里,很多人就容易理解成,本篇是介绍idea的技巧的文章。还是那句话,看问题一定要深度思考。源码是看不完的,但是解决问题的手段和 套路 ,却是有限的。很多同学看源码,就只是看个流程,感觉像看电影一样,并没有个人的独立思考,这样知识的转换率实在太低。比如你注意看我本文分析的 理论基础实践 ,这些经验,都是需要你从大量的阅读源码中不断去总结的。

所以,请不要再问肥朝,"看源码,究竟有没有用","怎么看源码"等问题,因为我每一篇源码解析,源码实战,都在回答这两个问题,如果你还问这种问题,可见你根本就没有关注肥朝,或者关注了没有星标置顶!

另外,各种源码解析系列(注意肥朝的用词,我说的是系列)还在不断热更中,欢迎持续关注,一起"追剧"!

写在最后

从一次问题讨论聊聊我对阅读源码的思考

从一次问题讨论聊聊我对阅读源码的思考

从一次问题讨论聊聊我对阅读源码的思考


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

大数据架构商业之路

大数据架构商业之路

黄申 / 机械工业出版社 / 2016-5-1 / 69.00元

目前大数据技术已经日趋成熟,但是业界发现与大数据相关的产品设计和研发仍然非常困难,技术、产品和商业的结合度还远远不够。这主要是因为大数据涉及范围广、技术含量高、更新换代快,门槛也比其他大多数IT行业更高。人们要么使用昂贵的商业解决方案,要么花费巨大的精力摸索。本书通过一个虚拟的互联网O2O创业故事,来逐步展开介绍创业各个阶段可能遇到的大数据课题、业务需求,以及相对应的技术方案,甚至是实践解析;让读......一起来看看 《大数据架构商业之路》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具