idea如何阅读Java源码,Intellij IDEA 阅读源码的 4 个绝技,我必须分享给你!

本文介绍了在IntelliJ IDEA中阅读和跟踪Java源码的一些实用技巧,包括如何快速定位到方法实现类、查看类层级关系、显示类结构以及进行源码统计。通过这些方法,可以帮助开发者更高效地理解和掌握源码细节。此外,还推荐了统计代码行数的Statistic插件。
摘要由CSDN通过智能技术生成

前段时间分享了《阅读跟踪 Java 源码的几个小技巧》是基于 Eclipse 版本的,看大家的留言都是想要 IDEA 版本的源码阅读技巧。

所以,为了满足众多 IDEA 粉丝的要求,栈长我特意做一期 IDEA 版的。

1、定位到方法实现类

public static Object getBean(String name) {

return applicationContext.getBean(name);

}

如以上代码,IDEA 如何跳转到 getBean 方法的实现类?

在 IDEA 中,CTRL + 鼠标左击 默认会跳到方法所在的接口,如 getBean 就会跳到 BeanFactory 接口里面去。

org.springframework.beans.factory.BeanFactory

ae9663eaca8cc0c4c2fed3487f545550.png

在 IDEA 中略显麻烦,在引用的方法上 CTRL + ALT + 鼠标左击(B)可以实现跳转至实现类,如果有多个实现类会弹出让你选择。

26ba2b8db2e250e5e38bc187c04bca69.png

点击右上角 Open as Tool Window 图标还能展开更多详细。

e98be5ef6250d0077423a591e9bea570.png

2、查看类层级关系

到了 BeanFactory 类,在任意地方使用快捷键 CTRL + H 可以打开类的继承层级面板。

62b3eef773a4b2de9d39f462d453102a.png

或者直接选中 BeanFactory 类名称,再按 CTRL + ALT + 鼠标左击(B),同样可以展示 BeanFactory 类的所有继承类的关系。

08f6135b4291d678721b98cf22a562c4.png

还有更屌的!

右键任意类,选择 Diagrams > Show Diagram... 可以打开类的继承图。

f6a52f41b2d2dbac4c8c03d4d474969a.png

ae6b86994a587592cce63fbe7b9e178f.png

f1173220ea3c421878c242c5eb29a5aa.png

a12e6f60972d275c884825e92e2967c7.png

看起来有点乱,那是因为我选择了所有实现类展示,实际请合理利用 Show Parents 和 Show Implementations 菜单。

3、查看类结构

f9d4718d6b3812111561026256efa329.png

c6da0508384378b7952854d49860bbc3.png

如上图所示,IDEA 中也有 Eclipse 中 outline 的面板,叫作:Structure,有了这个面板,可以快速浏览一个类的大纲,也可以快速定位到类的方法、变量等。

也可以使用快捷键 Alt + 7 调出这个面板。

4、源码统计

01ed1de0bd792b16d38e15ff9a952e64.png

6c0c88eee4b9b9b2e7ac350e7b8e6003.png

如图所示,栈长在 IDEA 中装了一个 Statistic 插件,这个插件只支持 JDK 1.8+。

有了这个插件,它可以在项目中按文件类型进行代码的行数、数量、大小统计。这样你就能知道整个源码的总体数量,你也可以把已经阅读的做统计,慢慢实现源码阅读的攻破。

熟练的运用 IDEA 中各个小技巧,让阅读跟踪源码变得更轻松。

更多往期 IDEA 技术文章可以关注Java技术栈公众号,在后台回复关键字:IDEA。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值