Intellij IDEA 閱讀源碼的 4 個(gè)絕技(必看)
前段時(shí)間分享了《閱讀跟蹤 Java 源碼的幾個(gè)小技巧》是基于 Eclipse 版本的,看大家的留言都是想要 IDEA 版本的源碼閱讀技巧。
所以,為了滿足眾多 IDEA 粉絲的要求,棧長(zhǎng)我特意做一期 IDEA 版的。
1、定位到方法實(shí)現(xiàn)類
public static Object getBean(String name) {
return applicationContext.getBean(name);
}如以上代碼,IDEA 如何跳轉(zhuǎn)到 getBean 方法的實(shí)現(xiàn)類?
在 IDEA 中,CTRL + 鼠標(biāo)左擊 默認(rèn)會(huì)跳到方法所在的接口,如 getBean 就會(huì)跳到 BeanFactory 接口里面去。
org.springframework.beans.factory.BeanFactory

在 IDEA 中略顯麻煩,在引用的方法上 CTRL + ALT + 鼠標(biāo)左擊(B)可以實(shí)現(xiàn)跳轉(zhuǎn)至實(shí)現(xiàn)類,如果有多個(gè)實(shí)現(xiàn)類會(huì)彈出讓你選擇。

點(diǎn)擊右上角 Open as Tool Window 圖標(biāo)還能展開更多詳細(xì)。

2、查看類層級(jí)關(guān)系
到了 BeanFactory 類,在任意地方使用快捷鍵 CTRL + H 可以打開類的繼承層級(jí)面板。

或者直接選中 BeanFactory 類名稱,再按 CTRL + ALT + 鼠標(biāo)左擊(B),同樣可以展示 BeanFactory 類的所有繼承類的關(guān)系。

右鍵任意類,選擇 Diagrams > Show Diagram... 可以打開類的繼承圖。




看起來(lái)有點(diǎn)亂,那是因?yàn)槲疫x擇了所有實(shí)現(xiàn)類展示,實(shí)際請(qǐng)合理利用 Show Parents 和 Show Implementations 菜單。
3、查看類結(jié)構(gòu)


如上圖所示,IDEA 中也有 Eclipse 中 outline 的面板,叫作:Structure,有了這個(gè)面板,可以快速瀏覽一個(gè)類的大綱,也可以快速定位到類的方法、變量等。
也可以使用快捷鍵 Alt + 7 調(diào)出這個(gè)面板。
4、源碼統(tǒng)計(jì)


如圖所示,棧長(zhǎng)在 IDEA 中裝了一個(gè) Statistic 插件,這個(gè)插件只支持 JDK 1.8+。
有了這個(gè)插件,它可以在項(xiàng)目中按文件類型進(jìn)行代碼的行數(shù)、數(shù)量、大小統(tǒng)計(jì)。這樣你就能知道整個(gè)源碼的總體數(shù)量,你也可以把已經(jīng)閱讀的做統(tǒng)計(jì),慢慢實(shí)現(xiàn)源碼閱讀的攻破。
熟練的運(yùn)用 IDEA 中各個(gè)小技巧,讓閱讀跟蹤源碼變得更輕松。
總結(jié)
到此這篇關(guān)于Intellij IDEA 閱讀源碼的 4 個(gè)絕技(必看)的文章就介紹到這了,更多相關(guān)intellij idea 閱讀源碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Javaweb開發(fā)環(huán)境Myeclipse6.5 JDK1.6 Tomcat6.0 SVN1.8配置教程
這篇文章主要介紹了Javaweb開發(fā)環(huán)境Myeclipse6.5 JDK1.6 Tomcat6.0 SVN1.8配置教程,感興趣的小伙伴們可以參考一下2016-06-06
Java調(diào)用CXF WebService接口的兩種方式實(shí)例
今天小編就為大家分享一篇關(guān)于Java調(diào)用CXF WebService接口的兩種方式實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
Java解決浮點(diǎn)數(shù)計(jì)算不精確問(wèn)題的方法詳解
在 Java 中,浮點(diǎn)數(shù)計(jì)算不精確問(wèn)題指的是使用浮點(diǎn)數(shù)進(jìn)行運(yùn)算時(shí),由于浮點(diǎn)數(shù)的內(nèi)部表示方式和十進(jìn)制數(shù)的表示方式存在差異,導(dǎo)致計(jì)算結(jié)果可能出現(xiàn)誤差,本文就給大家介紹一下Java如何解決浮點(diǎn)數(shù)計(jì)算不精確問(wèn)題,需要的朋友可以參考下2023-09-09
Java中Connection timed out和Connection refused的區(qū)別講解
今天小編就為大家分享一篇關(guān)于Java中Connection timed out和Connection refused的區(qū)別講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04
Spring通過(guò)三級(jí)緩存解決循環(huán)依賴問(wèn)題的過(guò)程詳解
循環(huán)依賴指的是在對(duì)象之間存在相互依賴關(guān)系,形成一個(gè)閉環(huán),導(dǎo)致無(wú)法準(zhǔn)確地完成對(duì)象的創(chuàng)建和初始化,本文主要介紹了Spring通過(guò)三級(jí)緩存解決循環(huán)依賴的方法,需要的可以參考下2023-10-10
解決mybatis批量更新出現(xiàn)SQL報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了mybatis批量更新出現(xiàn)SQL報(bào)錯(cuò),解決辦法也很簡(jiǎn)單只需要在application.properties配置文中的數(shù)據(jù)源url后面添加一個(gè)參數(shù),需要的朋友可以參考下2022-02-02
Spring的異常重試框架Spring Retry簡(jiǎn)單配置操作
這篇文章主要介紹了Spring的異常重試框架Spring Retry簡(jiǎn)單配置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
Mybatis-Plus批量添加或修改數(shù)據(jù)的3種方式總結(jié)
使用Mybatis-plus可以很方便的實(shí)現(xiàn)批量新增和批量修改,不僅比自己寫foreach遍歷方便很多,而且性能也更加優(yōu)秀,下面這篇文章主要給大家介紹了關(guān)于Mybatis-Plus批量添加或修改數(shù)據(jù)的3種方式,需要的朋友可以參考下2023-05-05

