阅读源码是有技巧的,不能是走马观花的把所有的源码都读一遍,这样是没什么效果。阅读源码的时候,一定要边读边思考,然后画图理解。下面我们以Kafka源码为例来介绍一下如何阅读:
- 首先用IDEA(Eclipse)开发工具将Kafka源码从github上下载下来,然后通过gradle构建工具下载依赖包;
- 将源码运行起来,如果出现报错,就从网上搜索一下教程,这个时候一定要有耐心;
- 简单看一下源码的工程结构,看主要是有哪几个模块组成的,这样要看哪一个功能直接就去那个模块下去找就行了。一般开源框架,都会有client模块,通信模块,日志存储模块;
- 然后通过源码提供的demo类,来打断点调试,看源码核心功能的处理流程。Kafka这种开源框架,核心功能就是发消息,接受消息,那我们就运行kafka提供的发送消息demo(自己写一个也可以),然后打断点调试,看一下发送消息的流程;
- 读源码的时候,一遍读源码,一遍写注释,读完一个功能的流程之后,再去画图,加深理解记忆。不用想着读一遍就把源码高明白,除非你是技术大牛。第一次阅读时候主要是搞明白主要流程,抓大放小,不要每个方法都点进去看,只要知道这个方法是干什么的就行了;
- 寻找源码中的一些技术亮点,比如说是如何提升IO并发能力的,如何提升磁盘读写能力的,如何使用设计模式等等,这些技术亮点往往是值得我们学习和借鉴的。
- 通过这些方式,你基本上就能读明白一个开源框架源码了。