Intellij IDEA 阅读源码的 4 个绝技(必看)
作者:Java技术栈 发布时间:2023-06-14 11:23:16
前段时间分享了《阅读跟踪 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
在 IDEA 中略显麻烦,在引用的方法上 CTRL + ALT + 鼠标左击(B)可以实现跳转至实现类,如果有多个实现类会弹出让你选择。
点击右上角 Open as Tool Window 图标还能展开更多详细。
2、查看类层级关系
到了 BeanFactory 类,在任意地方使用快捷键 CTRL + H 可以打开类的继承层级面板。
或者直接选中 BeanFactory 类名称,再按 CTRL + ALT + 鼠标左击(B),同样可以展示 BeanFactory 类的所有继承类的关系。
还有更 * 的!
右键任意类,选择 Diagrams > Show Diagram... 可以打开类的继承图。
看起来有点乱,那是因为我选择了所有实现类展示,实际请合理利用 Show Parents 和 Show Implementations 菜单。
3、查看类结构
如上图所示,IDEA 中也有 Eclipse 中 outline 的面板,叫作:Structure,有了这个面板,可以快速浏览一个类的大纲,也可以快速定位到类的方法、变量等。
也可以使用快捷键 Alt + 7 调出这个面板。
4、源码统计
如图所示,栈长在 IDEA 中装了一个 Statistic 插件,这个插件只支持 JDK 1.8+。
有了这个插件,它可以在项目中按文件类型进行代码的行数、数量、大小统计。这样你就能知道整个源码的总体数量,你也可以把已经阅读的做统计,慢慢实现源码阅读的攻破。
熟练的运用 IDEA 中各个小技巧,让阅读跟踪源码变得更轻松。
来源:https://www.cnblogs.com/javastack/p/10735462.html
猜你喜欢
- CSRF介绍CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click atta
- 实现原理: 长连接的维持,是要客户端程序,定时向服务端程序,发送一个
- 本文以一个简单的实例为大家介绍Android编程的入门知识,该案例是属于较早期的实例程序,读者可以对比学习,全面的了解Android程序的演
- goto在Java中是一个保留字,但在语言中并没有用到它;Java没有goto。但是,Java也能完成一些类似于跳转的操作,主要是依靠:标签
- 父类空间优先于子类对象产生在每次创建子类对象时,先初始化父类空间,再创建其子类对象本身。目的在于子类对象中包含了其对应的父类空间,便可以包含
- 如果只想查看注解,请跳到文章末尾部分简介在前后端进行数据交互中,在前端把数据传送到后端前,一般会先进行校验一次,校验成功之后,才把数据发送到
- 方式1:1. 明确 Spark中Job 与 Streaming中 Job 的区别1.1 Spark Core一个 RDD DAG Graph
- 如下所示:public static boolean isSdcardExists(Context context) {StorageMan
- 上帝之火本系列讲述的是开源实时监控告警解决方案Prometheus,这个单词很牛逼。每次我都能联想到带来上帝之火的希腊之神,普罗米修斯。而这
- 相信很多人在开发过程中经常会遇到需要对一些重要的信息进行加密处理,今天给大家分享我个人总结的一些加密算法:常见的加密方式分为可逆和不可逆两种
- 安装hbase首先下载hbase的最新稳定版本 http://www.apache.org/dyn/closer.cgi/hbas
- 具体代码如下所示:import java.util.ArrayList;import java.util.List;import java.
- 本文实例讲述了C#使用List类实现动态变长数组的方法。分享给大家供大家参考。具体如下:C#中的list可以当做数组使用,而且无需定义长度,
- Java Tess4J实现图像识别最近需要用Java做一个图像识别的东西,查了一些资料,在此写一个基于Tess4J的教程,方便其他人参考和使
- 1. System.Char 字符char 是 System.Char 的别名。System.Char 占两个字节,16个二进制位。Syst
- ImageCacheconst int _kDefaultSize = 1000;const int _kDefaultSizeBytes
- 我们有时候会遇到这样的情况,需要获取某些中文的拼音、中文首字母缩写和中文首字母,下面我将为大家介绍一下如何获取中文拼音的缩写。1、项目建立和
- 问题项目是springcloud项目,在maven install某一个项目时报错:程序包com.example.commons.appli
- 判断字符串是否为IP地址通常都是基于正则表达式实现的,无论是引入外部的依赖包亦或是自己写正则实现,基本都是基于正则表达式实现的判断。然而比较
- 问题当我们数据库中的字段和实体类中的字段不一致的时候,查询会出问题数据库字段是 pwdid name pwd1 张三 1234562 李四