啥?不会Debug jdk源码

Posted 大猫的Java笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了啥?不会Debug jdk源码相关的知识,希望对你有一定的参考价值。

1.不按套路进入





   一个学弟问我,你觉得面试中问什么面试题的频率最高?我毫不犹豫的回答:“源码”,尤其是HasMap,我所经历的面试官几乎必问。朋友听后心一慌,自己还没看过。

    于是朋友准备去Debug看一下HashMap的源码实现,他写了下面的代码准备进行Debug。然后发现怎么进入不了构造方法和put方法,然后他尝试强制进入居然没有进入HsahMap的构造方法,而是直接进入到了ClassLoader



啥?不会Debug jdk源码


2.如何解决



   一其实我们安装完成jdk以后其中就包含了源码,可能平时没怎么注意,且idea已经帮我们配置好了,如果没有配置好则需要我们自己手动进行配置,如下所示。



啥?不会Debug jdk源码


啥?不会Debug jdk源码



   实际上不能进入的原因是因为idea没有做设置,我们需要进入到settings->Build,EXecution,Deployment->Debugger->DataViews

->SteppingJava.*和Javax.*的勾选去掉(默认是勾选上的)。



啥?不会Debug jdk源码



   此时我们再次进入Debug进行调试就可以进入了,其中put方法由于是int类型存在自动装箱的过程,所以会进入到Integer.ValueOf方法。



啥?不会Debug jdk源码


3.不能写注释



   有时候我们在Debug源码的时候想添加自己的注释方便自己理解,然后你发现没办法添加,原因是源码是上锁的也就是说文件是只读的。



啥?不会Debug jdk源码



   这种怎么解决呢?实际上在我们idea中引入的源码是jdk目录下的src.zip这个文件是不允许写的,所以我们可以将其解压,然后在idea中将引入可以写的源码路径。



啥?不会Debug jdk源码


啥?不会Debug jdk源码


   引入新的可以写操作的源码路径



啥?不会Debug jdk源码



   此时源码就可以进行编辑,加上自己的理解和注释。





    到此如何Debug jdk源码就结束了,下面是广告时间........


1.各大培训机构,价格10万的视频 Java架构师视频免费送


2.各种电子书籍经典Java书籍免费送

4.个人技术总结免费赠送



以上是关于啥?不会Debug jdk源码的主要内容,如果未能解决你的问题,请参考以下文章

解决debug到jdk源码时不能查看变量值的问题

eclipse如何debug调试jdk源码并显示局部变量

设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的值

设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的1

Debug JDK源码没变量值怎么办?

eclipse 如何debug jdk源码(转)