1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        厲害了,用 IDEA 神器看源碼,效率賊高!

        共 1599字,需瀏覽 4分鐘

         ·

        2021-09-26 14:02

        點擊“藍字”,關注,置頂公眾號

        每日技術干貨,第一時間送達!


        最近正好也沒什么可忙的,就回過頭來鼓搗過去的知識點,到 Servlet 部分時,以前學習的時候硬是把從上到下的繼承關系和接口實現(xiàn)記得亂七八糟。


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


        1

        查看圖形形式的繼承鏈


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



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



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



        顯而易見的是:


        • 藍色實線箭頭 是指繼承關系

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



        2

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


        2.1 去掉不關心的類


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


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



        2.2 展示類的詳細信息


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


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



        然后你就會得到:



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



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



        2.3 加入其他類到關系中來


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


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



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



        2.4 查看具體代碼


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


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


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


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



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


        3

        最后


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


        往期推薦







        MyBatis vs Hibernate,到底哪個性能更好?

        如何設計一個小而美的搶紅包系統(tǒng)?

        來看看Redis 分布式鎖的正確實現(xiàn)方式

        IntelliJ idea 高效使用教程,一勞永逸!

        zset底層數(shù)據(jù)結構-redis

        Java 程序員必須掌握的 10 款開源工具!

        程序員必備排查日志 9 大類命令詳解


        瀏覽 39
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

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

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            亚洲中文免费视频 | 欧美另类一二三四 | 欧美xxx操 | 男人把ji放进女人舒服视频 | 黑人大鸡巴视频 | 精品一区二区赵丽颖高潮 | 中文字幕第八页 | 给少妇添下面喝尿 | 白丝校花被狂揉大胸 | 老熟妇视频 |