[转载 java 技术栈] eclipse 阅读跟踪 Java 源码的几个小技巧!

本文基于Eclipse IDE,咱们天天都使用的IDE其实提供了不少强大的功能,掌握它们,每每可以事半功倍。框架

一、Quick Type Hierarchy 快速查看类继承体系。

快捷键:Ctrl + Tui

查看类不少人可能都知道,可源码阅读的时候更多用来查看方法体系更重要,能够方便快速的定位到方法的实现类。如:插件

此时若是想查看getBean()方法如何实现,可能会让你失望。结果以下:线程

进入到了BeanFactory的接口定义方法,什么也没有。此时咱们直接在getBean上 Ctrl+T :debug

能够看到其实现的子类,点击子类进去便可。此方法还适用于框架中很是常见的模板方法模式,在抽象类中定义的模板方法,用这招轻松找到实现类。3d

固然还有详细的Open Type Hierarchy调试

会在左侧视图里面展现更好的Type View:blog

 

二、Open Call Hierachy 打开层级调用

快捷键:Ctrl+Alt+H继承

我的认为这是阅读源码最有用的利器,掌握它,能够轻松游走于各类方法调用之间。然而从我身边的朋友来看, 不少人都不知道他的存在。推荐你们看这篇文章《10个Eclipse珍藏插件推荐》。接口

Open Call Hierachy 查看结果以下,调用关系清晰明朗,能够直接定位到调用的地方。

三、debug 断点的灵活使用

断点调式时,心中必须很清楚F五、F六、F七、F8的做用,否则要么迷失于源码之中,要么什么都没看清就走完了。

从新啰嗦一下它们的做用:

  • F5 Step Into,单步进入。进入到某个方法里面;

  • F6 Step Over,单步结束。一行一行的执行代码,入门时不少人只会一行一行走;

  • F7 Step Return,跳出放发。进入到某个方法里面时,若是发现这个方法没有你想看的东西,或者已经看到了你想看的,直接F7,跳出到方法外;

  • F8 Resume,继续往下执行。往下执行,遇到下一个断点时再停下来,没有则一直运行完。

调试时咱们可能会常常遇到loadClass的状况:

在40行想进入ClassPathXmlApplicationContext构造方法,F5不料进入了类加载:

熟悉类加载的同窗会很熟悉,不熟悉类加载机制的也不要慌,这是说明你调试的类第一次被加载,这时候咱们F7跳出类加载,回到40行。

这个时候再按F5会真正进入ClassPathXmlApplicationContext构造方法。
当咱们断点跟踪Spring这种源码的时候,必定要有节奏,以优先找到总体脉络为准,不要一直的F5进入每一行细看,F5下去,几天都走不完Spring。

能熟练在Spring这种框架中F五、F六、F七、F8,就离弄懂他不远了。

Debug的时候还应该注意debug视图的线程栈:

这个视图可以让你在走得比较深的时候,能够一眼看出本身怎么进来的,当前位于什么方法里等信息,还能够点击对应的代码行数进入查看。

 

总结,这是我使用IDE跟踪源码的几个小技巧,尤为是第二点,是很实用的,但愿对你们在进行源码跟踪时有必定帮助。

相关文章
相关标签/搜索