今天跟大家分享一下我平时阅读源码的干货跟踪几个小技巧,对于阅读Java中间件如Spring、阅读源码Dubbo等框架源码的小技同学有一定帮助。 本文基于Eclipse IDE,干货跟踪我们每天都使用的阅读源码IDE其实提供了很多强大的功能,掌握它们,小技往往能够事半功倍。干货跟踪 1、阅读源码Quick Type Hierarchy 快速查看类继承体系。小技 快捷键:Ctrl + T 查看类很多人可能都知道,干货跟踪可源码阅读的阅读源码时候更多用来查看方法体系更重要,可以方便快速的小技定位到方法的实现类。如: 此时如果想查看getBean()方法如何实现,干货跟踪可能会让你失望。阅读源码结果如下: 进入到了BeanFactory的小技接口定义方法,什么也没有。 此时我们直接在getBean上 Ctrl+T : 可以看到其实现的子类,点击子类进去即可。此方法还适用于框架中非常常见的模板方法模式,在抽象类中定义的模板方法,用这招轻松找到实现类。 当然还有详细的Open Type Hierarchy 会在左侧视图里面展示更好的网站模板Type View: 2、Open Call Hierachy 打开调用层级 快捷键:Ctrl+Alt+H 个人认为这是阅读源码最有用的利器,掌握它,可以轻松游走于各种方法调用之间。然而从我身边的朋友来看, 很多人都不知道他的存在。推荐大家看这篇文章《10个Eclipse珍藏插件推荐》。 Open Call Hierachy 查看结果如下,调用关系清晰明朗,可以直接定位到调用的地方。 3、Debug 断点的灵活使用 断点调式时,心中必须很清楚F5、F6、F7、F8的作用,不然要么迷失于源码之中,要么什么都没看清就走完了。 重新啰嗦一下它们的作用: 调试时我们可能会经常遇到loadClass的情况: 在40行想进入ClassPathXmlApplicationContext构造方法,F5不料进入了类加载: 熟悉类加载的同学会很熟悉,不熟悉类加载机制的也不要慌,这是说明你调试的类***次被加载,这时候我们F7跳出类加载,回到40行。 这个时候再按F5会真正进入ClassPathXmlApplicationContext构造方法。 当我们断点跟踪Spring这种源码的时候,一定要有节奏,以优先找到整体脉络为准,不要一直的F5进入每一行细看,F5下去,几天都走不完Spring。推荐大家看这篇文章《10个Eclipse珍藏插件推荐》。服务器托管 能熟练在Spring这种框架中F5、F6、F7、F8,就离弄懂他不远了。 Debug的时候还应该注意debug视图的线程栈: 这个视图能够让你在走得比较深的时候,可以一眼看出自己怎么进来的,当前位于什么方法里等信息,还可以点击对应的代码行数进入查看。 总结,这是我使用IDE跟踪源码的几个小技巧,尤其是第二点,是很实用的,希望对大家在进行源码跟踪时有一定帮助。