您现在的位置是:主页 > news > 青岛微网站/网球新闻最新消息
青岛微网站/网球新闻最新消息
admin2025/6/21 3:17:51【news】
简介青岛微网站,网球新闻最新消息,阿里云可以建网站吗,兰州网站建设公司排名今天要与大家分享一下平时阅读源码的几个小技巧,对于于都java中间件如spring、dubbo等框架源码的同学有一定帮助。准备 !!开始1、Quick type hierarchy 快速查看类继承体系快捷键:CtrlT源码阅读●很多人可能都应该知道●源码阅读的…
今天要与大家分享一下平时阅读源码的几个小技巧,对于于都java中间件如spring、dubbo等框架源码的同学有一定帮助。
准备 !!
开始
1、Quick type hierarchy 快速查看类继承体系
快捷键:Ctrl+T
源码阅读
●很多人可能都应该知道
●源码阅读的时候更多用来查看方法体系更重要
●可以方便快速的定位到方法的实现类
此时如果想查看getBean()方法如何实现
可能会让你失望。结果如下:
进入到了BeanFactory的接口定义方法,什么也没有。
此时我们直接在getBean上 Ctrl+T :
可以看到其实现的子类,点击子类进去即可。
此方法还适用于框架中非常常见的模板方法模式
在抽象类中定义的模板方法,用这招轻松找到实现类
当然还有详细的Open Type Hierarchy
会在左侧视图里面展示更好的Type View:
2、open call hierachy 打开调用层级
快捷键:Ctrl+Alt+H
Open Call Hierachy.png
个人认为这是阅读源码最有用的利器
掌握它,可以轻松游走于各种方法调用之间。
然而从我身边的朋友来看, 很多人都不知道他的存在。
Open Call Hierachy 查看结果如下
调用关系清晰明朗,可以直接定位到调用的地方。
3、Debug 断点的灵活使用
断点调式时,心中必须很清楚F5、F6、F7、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这种框架中F5、F6、F7、F8,就离弄懂他不远了。
Dubug的时候还应该注意debug视图的线程栈:
这个视图能够让你在走得比较深的时候,可以一眼看出自己怎么进来的,当前位于什么方法里等信息,还可以点击对应的代码行数进入查看。
总结,这是我使用IDE跟踪源码的几个小技巧,尤其是第二点,是很实用的,希望对大家在进行源码跟踪时有一定帮助。
文章来源于: 北大学知堂中心,版权归原作者所有,如有侵权,请联系 guanwang@163yun.com 删除。