厉害了,用 IDEA 神器 看源码,效率真高!

点击上方“Java基基”,选择“设为星标”

做积极的人,而不是积极废人!

每天 14:00 更新文章,每天掉亿点点头发...

源码精品专栏

 
  • 原创 | Java 2021 超神之路,很肝~

  • 中文详细注释的开源项目

  • RPC 框架 Dubbo 源码解析

  • 网络应用框架 Netty 源码解析

  • 消息中间件 RocketMQ 源码解析

  • 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析

  • 作业调度中间件 Elastic-Job 源码解析

  • 分布式事务中间件 TCC-Transaction 源码解析

  • Eureka 和 Hystrix 源码解析

  • Java 并发源码

来源:cnblogs.com/deng-cc/
p/6927447.html

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

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

    • 2.1 去掉不关心的类

    • 2.2 展示类的详细信息

    • 2.3 加入其他类到关系中来

    • 2.4 查看具体代码

  • 3、最后

dc188fe4cdf6effb681b937a36376b06.png


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

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

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

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

fac23d5d0c5eb28ae47f62f20e78e2fc.png

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

c3db62afff3e68a99136c3dbec587092.png

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

f53305fa69c2e9ad6b51eb2d28f04431.png

显而易见的是:

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

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

推荐下自己做的 Spring Boot 的实战项目:

https://github.com/YunaiV/ruoyi-vue-pro

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

2.1 去掉不关心的类

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

简单,删掉。点击选择你想要删除的类,然后直接使用键盘上的 delete 键就行了。清理其他类的关系后图形如下:

fa238b969364e452cad75d373e1382f6.png

2.2 展示类的详细信息

有人说,诶,这怎么够呢,那继承下来的那些方法我也想看啊?简单,IDEA 通通满足你。

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

e05ebd32a91c60058b5281c7a6507979.png

然后你就会得到:

120cf7166ad0f7c0873c000d8829da19.png

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

23ee393b7782450c4d14e165d73ea2db.png

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

2.3 加入其他类到关系中来

当我们还需要查看其他类和当前类是否有继承上的关系的时候,我们可以选择加其加入到当前的继承关系图形中来。

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

131932c6c817c3e0500fccbc5ea5266a.png

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

790a8b124336eaf5c29cbeba3b08b780.png

2.4 查看具体代码

如果你想查看某个类中,比如某个方法的具体源码,当然,不可能给你展现在图形上了,不然屏幕还不得撑炸?

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

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

b116beb06a711542b34d4114f482b34f.png 8f5b02ecd21bc8e920b8b4e9173db2e5.png

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

6ab0589bdebf671d896cf9e266edd679.png

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

推荐下自己做的 Spring Cloud 的实战项目:

https://github.com/YunaiV/onemall

3、最后

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



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

35a10ae3cc942cf40892621de5cb8675.png

已在知识星球更新源码解析如下:

243bb3fc8e0d6e9718c6650fdab0679e.png

db9aa2e346e2e463582c34aca229194f.png

0a07b96f33f5b4e0f8971b01c2324de8.png

794c4f4166ee5fd72c65cfb1b0f7c1bc.png

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 6W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部