java需要看的源码_看java源码跟阅读的技巧今天要与⼤家分享⼀下平时阅读源码的⼏个⼩技巧,对于于都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 查看结果如下
调⽤关系清晰明朗,可以直接定位到调⽤的地⽅。
java源代码加密
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 删除。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。