必看说明

名词统一

我们再分析 SpringIOC 容器的时候,至关重要!

  • 实例化
  • 初始化
  • 销毁
引文

相信大家在源码的路上,一定很辛苦,大神们也都一样,大家都会经历,下面给大家总结一下,如何去阅读?小白一般会经历什么,看不懂当时的状态是什么?放弃还是坚守?

如何选择阅读的项目?

阅读源码推荐大家阅读,日常经常用到的 如:SpringFrameworkDubbo小一点的 slf4jMybatis,为什么相信大家很清楚,你了解他使用,当并不了解它的实现,出现问题以及排查问题的能力不能提示,因为你不够了解他。一般推荐小一点的,这样容易理解,和 review 完。

如何找到分析的入口?如何去阅读?

如:SpringFramework 那么最常用的就是 IOC 容器,new ClassPathXmlApplicationContext(xxx.xml) 这就是一个入口,从最简单的使用入手,切开一个入口,逐渐深入!

为什么?

​ 大家在分析的时候,必须要知道自己的目的,在干什么,不要一次性入的太深,谁都做不到!!!如:现在需要分析 <bean> 这个标签,在哪解析的,两种方案:

第一种:百度会把,这种是快速定位入口,然后你逐渐分析,那么有人会问?这样还算是分析源码?这是先人留下来的东西,我们可以借鉴!!!为何不可,想着自己去找入口,无畏就是 b 格高一点,明白人已经懂了借鉴”。

再次补充:切开一个入口,逐渐深入

为了大家不误解,我再次补充!!!一次不要追的太深,很多框架采用了很多设计模式,一个方法下面可能还有很多方法,先把这个方法搞明白了,咱们再去看里面的东西。

首次阅读源码,会经历什么?

先告诉大家,绝望,想放弃,难受,看不懂,知识面少,到处都不明白!!!

这些都很正常,你需要的是坚持,和正确的学习方式!逐渐深入 遇见新的知识,先记着,然后自己判断需不需要深入,时候慢慢的了解,一个功能一个功能,一个方法一个方法的去 挨个击破。

需要做笔记吗?

做笔记,因为你记不住!而且需要总结!大家要善于总结,突破自己,一般在大的功能模块看完或者小模块看完,看自己的规划!

需要下源码吗?

分析必须下载源码,项目很多地方、很多注释、很多 TODO 都是我们在分析过程中,可能不能立即明白,但是分析几个模块后,会突然发现有新的突破,很正常!

遇见不明白的地方怎么办?

前车之鉴,能百度到的可以借鉴,然后通过自己的理解,总结!!!很多东西百度不一定对,要有自己的理解,觉得他不对,就多看几篇文章,做事,如果觉得还不对 TODO 事后总会有新的突破!

推荐什么项目入手?

SpringFramework然后 SpringMVC、然后就是你们常用的 SpringCloudDubbo然后就可以工 注册中心 EurekaNacos