<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          介紹一個IDEA看源碼的神器!

          共 1633字,需瀏覽 4分鐘

           ·

          2022-03-02 23:32

          之前發(fā)的介紹?Java 和?Spring 學(xué)習(xí)經(jīng)驗的兩篇文章,閱讀撲街,可能太硬核了……

          學(xué)好Spring,分三步!
          用Java十多年了,我也不敢說“精通”

          這次說點輕松的。

          最近在看源碼,這次利用了 IDEA 的 diagram,結(jié)果一目了然,也是好用到炸裂,就此分享。

          1 查看圖形形式的繼承鏈

          在你想查看的類的標簽頁內(nèi),點擊右鍵,選擇 Diagrams,其中有 show 和 show ... Popup,只是前者新建在標簽頁內(nèi),后者以浮窗的形式展示:

          e4e3ffb92587632876ff73bfd7975e4f.webp

          實際上,你也可以從左邊的項目目錄樹中,對你想查看的類點擊右鍵,同樣選擇 Diagrams,效果是一樣的:

          1a66d415f2f7e0b213a07b31e81f6b7e.webp


          然后你就會得到如下圖所示的繼承關(guān)系圖形,以自定義的 Servlet 為例:

          3c2e165bad9fdf93afb51c104707b676.webp


          顯而易見的是:

          • 藍色實線箭頭?是指繼承關(guān)系

          • 綠色虛線箭頭?是指接口實現(xiàn)關(guān)系

          2 優(yōu)化繼承鏈圖形,想我所想

          2.1 去掉不關(guān)心的類

          得到的繼承關(guān)系圖形,有些并不是我們想去了解的,比如上圖的 Object 和 Serializable,我們只想關(guān)心 Servlet 重要的那幾個繼承關(guān)系,怎么辦?

          簡單,刪掉。點擊選擇你想要刪除的類,然后直接使用鍵盤上的 delete 鍵就行了。清理其他類的關(guān)系后圖形如下:

          e40a6ba884bb2c7f0f064e66f16d0805.webp


          2.2 展示類的詳細信息

          有人說,誒,這怎么夠呢,那繼承下來的那些方法我也想看???簡單,IDEA 通通滿足你。

          在頁面點擊右鍵,選擇 show categories,根據(jù)需要可以展開類中的屬性、方法、構(gòu)造方法等等。當然,第二種方法也可以直接使用上面的工具欄:

          b69e1a43fd1097b240978cc232de6a7a.webp

          然后你就會得到:

          6eca9b1335fdf474a52eda767286d840.webp


          什么,方法里你還想篩選,比如說想看 protected 權(quán)限及以上范圍的?簡單,右鍵選擇 Change Visibility Level,根據(jù)需要調(diào)整即可。

          1641e969c0824f4c55aa665fbe57634f.webp


          什么,你嫌圖形太小你看不清楚?IDEA 也可以滿足你,按住鍵盤的 Alt,竟然出現(xiàn)了放大鏡,驚不驚喜,意不意外?

          b7752c05780d4deabc92547012d5060e.webp

          2.3 加入其他類到關(guān)系中來

          當我們還需要查看其他類和當前類是否有繼承上的關(guān)系的時候,我們可以選擇加其加入到當前的繼承關(guān)系圖形中來。

          在頁面點擊右鍵,選擇 Add Class to Diagram,然后輸入你想加入的類就可以了:

          22931b55f30723eb3b0d204227905e2c.webp

          例如我們添加了一個 Student 類,如下圖所示。好吧,并沒有任何箭頭,看來它和當前這幾個類以及接口并沒有發(fā)生什么不可描述的關(guān)系:

          62dd26bb8ae85f759eb658a96a4a0f74.webp


          2.4 查看具體代碼

          如果你想查看某個類中,比如某個方法的具體源碼,當然,不可能給你展現(xiàn)在圖形上了,不然屏幕還不得撐炸?

          但是可以利用圖形,或者配合 IDEA 的 structure 方便快捷地進入某個類的源碼進行查看。

          雙擊某個類后,你就可以在其下的方法列表中游走,對于你想查看的方法,選中后點擊右鍵,選擇 Jump to Source:

          18370d880246d40f0147156b840d6465.webp


          df3940d0125a5204e74c9425510ac367.webp


          在進入某個類后,如果還想快速地查看該類的其他方法,還可以利用 IDEA 提供的 structure 功能:

          5079181700c27865176c40a377ea326c.webp


          選擇左側(cè)欄的 structure 之后,如上圖左側(cè)會展示該類中的所有方法,點擊哪個方法,頁面內(nèi)容就會跳轉(zhuǎn)到該方法部分去。

          |?最后

          用上面提到的的 IDEA 這些功能,學(xué)習(xí)和查看類關(guān)系,了解諸如主流框架源碼之類的東西,可以說是非常舒服了。

          ps. 如果你的 IDEA 沒有這個功能,可能因為你用的 IDEA 是社區(qū)版。

          - END -

          來源|Dulk|?cnblogs.com/deng-cc/p/6927447.html


          推薦閱讀

          學(xué)好Spring,分三步!

          用Java十多年了,我也不敢說“精通”



          你好,我是四猿外。

          一家上市公司的技術(shù)總監(jiān),管理的技術(shù)團隊一百余人。想了解我如何管理團隊——我,管理100多人團隊的二三事

          我從一名非計算機專業(yè)的畢業(yè)生,轉(zhuǎn)行到程序員,一路打拼,一路成長。

          我會通過公眾號,
          把自己的成長故事寫成文章,
          把枯燥的技術(shù)文章寫成故事。

          我建了一個讀者交流群,里面大部分是程序員,一起聊技術(shù)、工作、八卦。歡迎加我微信(備注加群),拉你入群。


          瀏覽 55
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  123操逼逼 | 日日干干视频 | 黄色免费性爱视频 | 精品一级 | 黄色一a电影 |