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

这次利用了IDEA的diagram,结果一目了然,也是好用到炸裂,就此分享。

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

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

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

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

显而易见的是:

  • 蓝色实线箭头是指继承关系

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

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

2.1 去掉不关心的类

得到的继承关系图形,有些并不是我们想去了解的,比如上图的Object和Serializable,我们只想关心Servlet重要的那几个继承关系,怎么办?

简单,删掉。点击选择你想要删除的类,然后直接使用键盘上的delete键就行了。

清理其他类的关系后图形如下:

2.2 展示类的详细信息

有人说,诶,这怎么够呢,那继承下来的那些方法我也想看啊?简单,IDEA通通满足你。关注微信公众号:互联网架构师,在后台回复:2T,可以获取我整理的 教程,都是干货。

在页面点击右键,选择 show categories,根据需要可以展开类中的属性、方法、构造方法等等。当然,第二种方法也可以直接使用上面的工具栏:

然后你就会得到:

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

什么,你嫌图形太小你看不清楚?IDEA也可以满足你,按住键盘的Alt,竟然出现了放大镜,惊不惊喜,意不意外?IDEA 快捷键终极大全,建议收藏。

2.3 加入其他类到关系中来

当我们还需要查看其他类和当前类是否有继承上的关系的时候,我们可以选择加其加入到当前的继承关系图形中来。关注微信公众号:互联网架构师,在后台回复:2T,可以获取2T全套架构师系列教程,都是干货。

在页面点击右键,选择 Add Class to Diagram,然后输入你想加入的类就可以了:

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

2.4 查看具体代码

如果你想查看某个类中,比如某个方法的具体源码,当然,不可能给你展现在图形上了,不然屏幕还不得撑炸?Intellij IDEA 阅读源码的 4 个绝技,这篇必看。

但是可以利用图形,或者配合IDEA的structure方便快捷地进入某个类的源码进行查看。

双击某个类后,你就可以在其下的方法列表中游走,对于你想查看的方法,选中后点击右键,选择 Jump to Source:

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

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

3、最后

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

作者:Dulk

https://www.cnblogs.com/deng-cc/p/6927447.html

公众号后台回复【2T】有惊喜礼包!

关注微信公众号:互联网架构师,在后台回复:2T,可以获取我整理的教程,都是干货。

猜你喜欢

1、GitHub 标星 3.2w!史上最全技术人员面试手册!FackBoo发起和总结

2、如何才能成为优秀的架构师?

3、从零开始搭建创业公司后台技术栈

4、程序员一般可以从什么平台接私活?

5、37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...

6、滴滴业务中台构建实践,首次曝光

7、不认命,从10年流水线工人,到谷歌上班的程序媛,一位湖南妹子的励志故事

8、15张图看懂瞎忙和高效的区别

9、2T架构师学习资料干货分享

Intellij IDEA 看源码必备的技能!相关推荐

  1. 使用IntelliJ IDEA看源码的时候,如何在优雅的查看类继承关系...【看这篇就够了】

    导读 在公司 ,特别对于我们刚入职公司,在看一个新系统的时候,特别是这个项目已经搭建的不错的时候,我们需要去熟悉这个系统,就像我们去阅读源码一样,去理解这个系统的大体功能,类之间的关系,之间的继承. ...

  2. 4月,诚邀你参加源码共读,学会看源码,打开新世界!开阔视野

    大家好,我是若川.很多关注我的新朋友可能不知道我组织了源码共读活动~ 也有很多人不知道我是谁.有人以为我是80后.有人以为我是全职自媒体等等.若川的 2021 年度总结,弹指之间 这篇文章写了我是16 ...

  3. 看源码,我为什么推荐IDEA?

    作者:肥朝,来自:肥朝(ID:feichao_java) 1.条件断点 看源码的时候,经常遇到这个情况,源码中有个for循环,关键是这个list的size有时候长达数百个.但是我们只想debug一种情 ...

  4. 为什么要看源码、如何看源码,高手进阶必看

    由于项目的需求,最近花了较多的时间来看开源项目的代码,在本文中,简单总结一下对为什么要看源码.如何看源码这两个问题的思考. 看源码的意义 看源码只是一种方法.手段,而不是目的.我也曾经给自己制定过&q ...

  5. idea 这么还原debug_看源码,我为什么推荐IDEA ?

    1.条件断点 看源码的时候,经常遇到这个情况,源码中有个for循环,关键是这个list的size有时候长达数百个.但是我们只想debug一种情况.肥朝就曾经见过,在for循环中打了断点,一直按跳过,按 ...

  6. 若川诚邀你加源码共读群,帮助更多人学会看源码~

    小提醒:若川视野公众号面试.源码等文章合集在菜单栏中间[源码精选]按钮,欢迎点击阅读,也可以星标我的公众号,便于查找. 回复pdf,可以获取前端优质书籍. 最近我创建了一个源码共读的前端交流群,希望尝 ...

  7. 找准切入点,调试看源码,事半功倍

    关注若川视野,回复"pdf" 领取资料,回复"加群",可加群长期交流学习 最近写了很多源码分析相关的文章,React.Vue 都有,想把我阅读源码的一些心得分享 ...

  8. 11没有源码注释_我们为什么要看源码、应该如何看源码?

    看源码的意义 看源码只是一种方法.手段,而不是目的.我也曾经给自己制定过"阅读xxx源码"的目标,现在看起来真的很蠢,一点不smart(specific.measurable.at ...

  9. 【肥朝】看源码,我为什么推荐IDEA?

    本文并不评论Eclipse与IDEA孰好孰坏,但是由于肥朝平时都是使用IDEA开发的,所以推荐IDEA.这个和肥朝平时都是吃粤菜,所以推荐的都是粤菜为主,但是并不是说其他菜不好吃,肥朝不挑食! 1.条 ...

  10. 面试官问我平时怎么看源码的,我把这篇文章甩给他了。

    本文来自作者投稿,原作者:WwpwW 1.1,为什么要分析源码? 分析源码可以培养一下自己独立思考问题的能力(愿意读源码找问题的能力),最重要的是我们不用再买纸质书去学习数据结构了,数据结构的应用都在 ...

最新文章

  1. zeptojs-跑马灯效果
  2. 多线程共用全局变量可能存在的威胁
  3. 输入参数_MyBatis中的输入/输出参数
  4. DSP学习 -- C语言实现MySQL数据库操作
  5. java中的基本数据类型_java的基本数据类型有哪些
  6. mysql中的操作指令,MySQL中常用指令操作的介绍(代码示例)
  7. autovalue_AutoValue:生成的不可变值类
  8. 前端学习(847):H5自定义属性
  9. Linux入门-第五周
  10. 删除MySql表中的大量记录后,文件不变小的解决方法
  11. 用.net中的SqlBulkCopy类批量复制数据 (转载)
  12. python实践项目(一)
  13. Java多线程之新类库中的构件DelayQueue
  14. linux ipv4文件,Linux IPV4 IPV6地址批量Ping脚本(工具)
  15. matlab 电力系统分析 毕设,毕设开题报告_-基于matlab中电力系统模块集(psb的电力系统仿真研究.doc...
  16. 手算平方根的JavaScript实现,并推广至任意次方根
  17. libigl cot laplacian 计算方式
  18. java计算机毕业设计青岛地区常见昆虫图鉴与论坛源码+数据库+lw文档+系统
  19. 2021 CCF基于UEBA的用户上网异常行为分析baseline线上0.90
  20. 产品读书《滚雪球:巴菲特和他的财富人生》

热门文章

  1. 反转字符串---简单
  2. Mac端口转发解决eclipse/idea/tomcat不能启动80端口的问题
  3. SDUT OJ 顺序表应用3:元素位置互换之移位算法
  4. shell整理(34)===date 命令的小脚本
  5. 作为一个技术人,我究竟要什么?
  6. 数据库篇之[bsp_orders]数据表-BrnShop1.9升级至2.1升级说明(非官方版本)
  7. linux-LINUX试题
  8. 感谢你遇到的问题(2)
  9. UNIX环境高级编程之第6章:系统数据文件和信息
  10. 苹果mac绘图软件:AutoCAD