如何阅读jdk及开源框架的源码?

1.查阅资料

可以先查看网络博客,参考前辈的心得体会进行阅读。

2.理清主要流程

先理清整体的架构设计,执行顺序。

比如线程池ThreadPoolExecutor,主要的流程是 execute() –> addWorker() –>runworker() 。

可以依此顺序进行阅读。

3.捉重点,阅读主要的类/方法。

先从常用的api入手,比如用于实例化的构造方法,经常调用的方法等。

比如阅读ArrayList源码,可以先看构造方法ArrayList(),然后再看增删改查。。add()方法,再看get()方法、set()、remove()等等。

也可以结合面试题,比如面试经常会问线程池ThreadPoolExecutor构造方法,newCacheThreadPoolExecutor等有哪些参数,可以着重看下。

查看类之间的关系,可以用IDEA的Diagram。

查看类的整体属性和方法,可以用IDEA的Structure,或者Eclipse的outline。

4.动手实践

一边看,一边写注释,还要多动手调试。还可以进行单元测试。

5.带着疑问阅读。

遇到不懂的就先思考再搜索,小到属性的含义,方法的具体实现。又或者是一个异常处理,一个简单的关键字、修饰符。

6.熟悉设计模式

可以边读源码 ,边熟悉设计模式,理解编程思想。

jdk中对应的设计模式见:http://blog.csdn.net/gtuu0123/article/details/6114197

参考资料:

关于源码阅读的看法。

为什么要阅读源码?

阅读源码的技巧。

 关于JDK源码:我想聊聊如何更高效地阅读

原文地址:https://www.cnblogs.com/expiator/p/7989926.html