目录
- 1、从最简单的源码开始:别幻想一步登天
- 2、循序渐进:先搞定底层依赖的技术
- 3、一定要以Hello World作为入口来阅读
- 4、抓大放小,边写注释边画图
- 5、反复三遍,真正理解源码
- 6、借力打力,参考源码分析书籍及博客
- 7、最后寄语:用几年时间锻造自己的核心技术
前言
这篇文章,给大家简单介绍一下很多同学都非常关心的一个问题:如何阅读一个开源项目的源码。
我相信很多同学都希望能够去阅读一些源码来提升自己的技术水平,毕竟在面试的时候,很多大厂都经常会扣到非常深入的底层源码。
1、从最简单的源码开始:别幻想一步登天
其实开源项目有很多种,比如说有Spring这种框架类的,还有比如数据库连接池、log4j等这种工具类的。
当然还有特别重型的中间件类的,比如说RocketMQ、Kafka、Redis。更有甚者也有上百万行代码的大数据类的,比如Hadoop、Spark。
所以如果很多同学想要读源码的话,面临的第一个问题:不知道从何下手。
那么是不是说只要随便挑选一个开源技术的源码,采用愚公移山的精神,直接硬着头皮去读,坚持就是胜利,铁杵一定就能磨成针吗?
不是的!其实很多同学始终都没掌握到阅读源码的顺序、技巧和方法,所以导致尝试看过一些源码,却还是看不懂。
首先你要明白一个前提,比如说Kafka的作者,Hadoop的作者,他们本身都是有很多年经验,技术功底极为扎实,都是技术大牛的人,站在一个很高的角度去设计和开发出来了这些极为出色的分布式系统。
那么如果你的技术实力达不到他们的水平,你觉得你直接去读他们写出来的源码,就能看懂吗?
那估计是很难的,因为里面蕴含的各种底层技术细节,分布式架构设计思想,还有复杂的算法和机制,都不是你能理解的。
所以建议大家第一点,想看源码,先挑一个最最简单的,适合自己技术水平的去看。
给大家举个例子,比如说你平时常用的一些源码都有什么?显而易见,每个人都会用Spring Web MVC、Spring、MyBatis、Spring Boot,等等。
其