源码专栏
这篇文章算是导读,希望各位读者可以能快速地了解笔者的构思以及文章特点,达到更高的学习效率
文章构思
笔者将其概括为点、线、面、体思路
首先是由某一个入口方法开始进行debug,沿着方法调用一步步进行下去(主线)
期间就碰到各种接口、抽象类、实现类(知识点),通过查看注释、debug分析,了解各个类是如何进行工作的
当遇到某个接口或者抽象类的次数多了,会更加全面地了解这个接口,这时就对这个接口(知识面)有了比较深刻的认识
最后再将所有的接口、抽象类联系起来,看它是如何形成一个框架体系的(体)
文章结构
经过一番思考,决定每篇文章都遵循一定的结构,这样做的目的是让自己在整理的过程中,能有一个比较清晰的思路。同时也为了培养读者对本系列文章的一个阅读习惯,这样可以更快地理解笔者所想表达的东西。
文章结构自上而下分别是:
-
背景介绍
这部分主要描述所研究的对象是什么,同时也会对所研究的内容做一个简单的、概括性的总结,方便大家在开始源码追踪前,能有一个大概的印象
-
学习目标
提前告知读者,在阅读完这篇文章之后,可以学到什么知识点,算是一篇文章的学习大纲 -
关键问题
针对本文提出一些关键的问题,这些问题会在源码追踪的过程中,一一进行解决,让读者有闯关似的阅读体验
-
源码追踪
这部分主要描述怎么做
-
结论
对源码追踪的整个过程做一个详细的总结,让大家从刚才源码追踪的过程中抽离出来,对刚刚所研究的内容有一个全局的认识
-
注意细节
在源码追踪的过程中,有一些点需要特别注意,在此重申以加深印象
-
待研究
每篇文章篇幅有限,在追踪源码的过程中,肯定会遇到一些主线外的知识点,一时间还不必要去仔细研究的,可以在这部分进行罗列,待日后再慢慢整理
-
推荐文章
在研究的过程中参考其他作者的文章
实际在笔者撰写的过程中,遵循着深度遍历优先,广度遍历次之的原则。首先是通过源码追踪,理清了整体的主线。然后根据主线拆分出一个个知识点,把每个知识点总结成一篇篇文章。每篇文章的学习目标、关键问题、结论、注意细节也都是在每个知识点的深入分析之后所总结出来的。其中学习目标算是笔者在整理知识点的过程中,对所研究的范围做出一个界限,避免研究范围过于广泛,从而造成文章的研究重点不明确
阅读方法
读者在阅读的过程中,配合以下方法,可以更高效、深刻地去理解笔者所想表达的意思
目录定位
因为文章会贴上源码,因此文章的篇幅会比较冗长,阅读的过程中难免可能会陷入某些细节部分,当再回想起一开始所研究的东西的时候,就比较难定位了。因此,当自己从细节抽离的时候,记得翻看目录,再定位回原先的位置。最好是能做到心中有大纲
亲手实践
纸上得来终觉浅,不亲手试一番,印象永远是不深刻的。在阅读笔者的文章时,可以打开自己IDE,自行debug,去验证笔者所提及的内容。如果在实践的过程中,能融合了自身的理解,整理笔记,那无疑是更上一层楼。因为只有自己的笔记,才是最适合自己看的