1.引子
应交流群小伙伴要求,写一篇《新人如何快速剖析源码,掌握原理》的文章。特意花一小时整理一下,你们共同提升哈。git
2.学习步骤
其实若是多看做者的几篇系列文章,就会发现套路就是四步骤:程序员
- 原理概览
- 简单样例
- 源码剖析
- 总结提升
2.1 原理概览
官网永远是第一学习地(切忌上来直接看别人博客,网上质量堪忧,不少旧版本、错误论点)。上官网能够确保我们大方向不出问题。在官网学习项目的初衷、特性、地位,全局掌控一下这个项目的定位。github
哪些渠道?算法
例如独立域名官网(spring系列、apache系列)、github等。spring
2.2 简单样例
看再多很少不如本身跑一遍,看看怎么用,有什么效果。不知道怎么写样例?官网都有。apache
2.3 源码剖析
简单样例有了,能够debug了,一步一步跟着源码看(在核心步骤处打断点)。模块化
- 主要脉络法:先把握主要脉络,模块化去分析源码,切忌一上来就死扣细节,能够画图辅助。
- 专题剖析法:掌握基本思路后,以独立专题的形式来看源码细节,效果更佳。(细节看完后,配以专题博客,效果更佳)
- 疑难解决法:若是实际中用过,甚至遇到了问题,直接带着问题去找答案。
- 实践优化法:若是有机会在公司项目中使用上线,利用本身了解的原理、特性,作到了精细化使用,优化了性能,那就是完美中的完美,技能+绩效双丰收...
了解基本概念原理后,还看不懂源码怎么办?性能
- 参考前人智慧:看看质量高的博客,例如博客园,部分CSDN,简书等。切忌照搬别人的博客,无脑copy,毫无价值。要以本身一个新的视角去从新排版博客,在某些角度写的更好才有价值。(好比源码别人剖析挺好,但总结不到位,你本身补上流程图、原理图等)
- 多看几遍:要纪录下来,每次比上次多看懂一些,没必要一次所有看懂所有。
2.4 总结提升
站在一个俯视的视角,总结这个项目,本次对这个项目的剖析,还有哪些待完善的,以便本身未来回过头来再完善。学习
3.番外篇
- 有难度:新人确定上手会有必定难度,但迈出第一步最重要,哪怕你就总结了一个小模块。这就是零的突破,一直写一直开心。
- 很无聊:阅读源码很无聊,但想要当技术大牛,必须经历这个过程(国内程序员行业已经很卷了,算法大神不算哈)。能够另辟视角,找点乐趣。好比研究下做者,研究下算法。其实源码看多了,就发现都是套路,熟能生巧。
- 在此祝:祝你们能快速入门,花最少的时间掌握源码阅读技能,早日年薪百万,迎娶白富美。