服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

使用 IntelliJ IDEA 看源码

日期: 来源:Java后端收集编辑:Dulk

点击上方 Java后端,选择 设为星标

优质文章,及时送达


最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到Servlet部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟。

这次利用了IDEA的diagram,结果一目了然,也是好用到炸裂,就此分享。学会下面功能,了解诸如主流框架源码之类的东西,就非常舒服了。 

1、查看图形形式的继承链

在你想查看的类的标签页内,点击右键,选择 Diagrams,其中有 show 和 show ... Popup,只是前者新建在标签页内,后者以浮窗的形式展示:

实际上,你也可以从左边的项目目录树中,对你想查看的类点击右键,同样选择Diagrams,效果是一样的:

然后你就会得到如下图所示的继承关系图形,以自定义的Servlet为例:

显而易见的是:

  • 蓝色实线箭头是指继承关系
  • 绿色虚线箭头是指接口实现关系

2、优化继承链图形,想我所想

2.1 去掉不关心的类

得到的继承关系图形,有些并不是我们想去了解的,比如上图的Object和Serializable,我们只想关心Servlet重要的那几个继承关系,怎么办?
简单,删掉。点击选择你想要删除的类,然后直接使用键盘上的delete键就行了。清理其他类的关系后图形如下:

2.2 展示类的详细信息

有人说,诶,这怎么够呢,那继承下来的那些方法我也想看啊?简单,IDEA通通满足你。
在页面点击右键,选择 show categories,根据需要可以展开类中的属性、方法、构造方法等等。当然,第二种方法也可以直接使用上面的工具栏:

然后你就会得到:

什么,方法里你还想筛选,比如说想看protected权限及以上范围的?简单,右键选择 Change Visibility Level,根据需要调整即可。

什么,你嫌图形太小你看不清楚?IDEA也可以满足你,按住键盘的Alt,竟然出现了放大镜,惊不惊喜,意不意外?

2.3 加入其他类到关系中来

当我们还需要查看其他类和当前类是否有继承上的关系的时候,我们可以选择加其加入到当前的继承关系图形中来。
在页面点击右键,选择 Add Class to Diagram,然后输入你想加入的类就可以了:

例如我们添加了一个Student类,如下图所示。好吧,并没有任何箭头,看来它和当前这几个类以及接口并没有发生什么不可描述的关系:

2.4 查看具体代码

如果你想查看某个类中,比如某个方法的具体源码,当然,不可能给你展现在图形上了,不然屏幕还不得撑炸?
但是可以利用图形,或者配合IDEA的structure方便快捷地进入某个类的源码进行查看。
双击某个类后,你就可以在其下的方法列表中游走,对于你想查看的方法,选中后点击右键,选择 Jump to Source:

在进入某个类后,如果还想快速地查看该类的其他方法,还可以利用IDEA提供的structure功能:

选择左侧栏的structure之后,如上图左侧会展示该类中的所有方法,点击哪个方法,页面内容就会跳转到该方法部分去。

3、最后

用上面提到的的IDEA这些功能,学习和查看类关系,了解诸如主流框架源码之类的东西,可以说是非常舒服了。 

4、参考链接

http://blog.csdn.net/qq_27093465/article/details/52857307
作者:Dulk
链接:www.cnblogs.com/deng-cc/p/6927447.html

 



-END-
如果看到这里,说明你喜欢这篇文章,请转发、点赞。同时标星(置顶)本公众号可以第一时间接受到博文推送。
1. IDEA常用插件一览,让效率成为习惯
2. 两小时入门Docker(好文推荐)
3. Java虚拟机内存模型
4. InnoDB一棵B+树可以存放多少行数据?

相关阅读

  • 单身老得快?

  • 点击上方↑↑↑“GDG广州”关注我来源:公众号 新智元编辑:好困 Aeneas【导读】微博热搜上说,「单身的人老得快」。杜克大学的一项研究表明,比起高质量的亲密关系,单身(太久)的确会
  • 再见 Feign ,Spring 6 新特性:HTTP Interface

  • 来源:https://juejin.cn/post/7173271507047546893Spring 6 的新特性:HTTP Interface近期,Spring 6 的第一个 GA 版本发布了,其中带来了一个新的特性——HTTP Interface。这个新
  • 腾讯一面:如何正确停止一个线程?

  • 停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作。停止一个线程可以用Thread.stop()方法,但最好不要用它。虽然它确实可以停止一个正在运行的
  • SpringBoot 中使用 spring-retry 轻松解决重试

  • 在日常开发过程中,难免会与第三方接口发生交互,例如:短信发送、远程服务调用、争抢锁等场景,当正常调用发生异常时,例如:网络抖动,这些间歇性的异常在一段时候之后会自行恢复,程序为
  • 转需!“阳了”以后,如何缓解症状带来的不适?

  • “阳了”以后,常见症状包括咽痛、发热、鼻塞、咳嗽等,会造成一定的不适感。除了遵医嘱进行药物干预以外,还有哪些方法可以对症缓解?高渗盐水漱口、局部冷敷、温水擦浴、盐水洗鼻
  • 2023抖音的机会和趋势,值得收藏!

  • 1、所有商家都应该200%重视“中心场”流量,也就是商场流量+搜索流量,讲大白话就是淘系的货架电商运营模式开始在抖音奏效。2、抖音直播玩法和技巧已经没啥创新,直播运营越来越
  • 什么样的人最幸福?答案颠覆你的想象

  • 作者简介:Robert Waldinger,哈佛大学医学院麻省总医院(MGH)精神科医师、精神分析治疗师,哈佛成人发展研究所(adult development) 第四任所长。01什么样的人最幸福?在生命进程中,是什
  • 项飙的新困惑

  • 社会人类学家项飙在“腾讯科技向善创新周”大会上发表了主题演讲。项飙在演讲中提出,我们似乎正在进入到一个“社会型市场”之中,而人的“关联性”,也正成为一种基本语法。与去
  • 3万字带你详细了解自动驾驶车辆的系统架构

  • 自动驾驶汽车的自主系统的架构通常被分为感知系统、决策系统和控制系统。感知系统通常被划分为许多子系统,负责自动驾驶汽车定位、静态障碍物绘制、移动障碍物检测和跟踪、道

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 使用 IntelliJ IDEA 看源码

  • 点击上方 Java后端,选择 设为星标优质文章,及时送达最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到Servlet部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记
  • Nginx 一网打尽

  • 早期的业务都是基于单体节点部署,由于前期访问流量不大,因此单体结构也可满足需求,但随着业务增长,流量也越来越大,那么最终单台服务器受到的访问压力也会逐步增高。时间一长,单台
  • 推荐一个 yyds 开源项目任务管理工具

  • DooTask 是一款轻量级的开源在线项目任务管理工具,提供各类文档协作工具、在线思维导图、在线流程图、项目管理、任务分发、即时IM,文件管理等工具。功能特性可查看日历提醒事
  • 感受 lambda 之美!

  • 点击上方 Java后端,选择 设为星标优质文章,及时送达来源:juejin.im/post/6844903849753329678一、引言java8最大的特性就是引入Lambda表达式,即函数式编程,可以将行为进行传递。
  • UGC 原创上新|三维六折页

  • E2 编辑器已经正式上线 UGC 专区(用户创作模板),对每一个上架的原创模板版权协助保护至 E2 已生效的计算机软件著作权,支持创作者用于任何形式的维权工作。未来,我们还会引入包括