啥?不会Debug jdk源码
Posted 大猫的Java笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了啥?不会Debug jdk源码相关的知识,希望对你有一定的参考价值。
一个学弟问我,你觉得面试中问什么面试题的频率最高?我毫不犹豫的回答:“源码”,尤其是HasMap,我所经历的面试官几乎必问。朋友听后心一慌,自己还没看过。
于是朋友准备去Debug看一下HashMap的源码实现,他写了下面的代码准备进行Debug。然后发现怎么进入不了构造方法和put方法,然后他尝试强制进入居然没有进入HsahMap的构造方法,而是直接进入到了ClassLoader。
一其实我们安装完成jdk以后其中就包含了源码,可能平时没怎么注意,且idea已经帮我们配置好了,如果没有配置好则需要我们自己手动进行配置,如下所示。
实际上不能进入的原因是因为idea没有做设置,我们需要进入到settings->Build,EXecution,Deployment->Debugger->DataViews
->Stepping将Java.*和Javax.*的勾选去掉(默认是勾选上的)。
此时我们再次进入Debug进行调试就可以进入了,其中put方法由于是int类型存在自动装箱的过程,所以会进入到Integer.ValueOf方法。
有时候我们在Debug源码的时候想添加自己的注释方便自己理解,然后你发现没办法添加,原因是源码是上锁的也就是说文件是只读的。
这种怎么解决呢?实际上在我们idea中引入的源码是jdk目录下的src.zip这个文件是不允许写的,所以我们可以将其解压,然后在idea中将引入可以写的源码路径。
引入新的可以写操作的源码路径
此时源码就可以进行编辑,加上自己的理解和注释。
到此如何Debug jdk源码就结束了,下面是广告时间........
1.各大培训机构,价格10万的视频 Java架构师视频免费送
2.各种电子书籍经典Java书籍免费送
4.个人技术总结免费赠送
以上是关于啥?不会Debug jdk源码的主要内容,如果未能解决你的问题,请参考以下文章
设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的值