前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >啥?不会Debug jdk源码

啥?不会Debug jdk源码

作者头像
大猫的Java笔记
发布2020-11-25 11:51:59
4310
发布2020-11-25 11:51:59
举报
文章被收录于专栏:大猫的Java笔记大猫的Java笔记

1.不按套路进入

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

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

2.如何解决

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

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

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

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

3.不能写注释

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

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

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

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

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

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

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

3.关注下方我的公众号进行免费获取

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大猫的Java笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档