[轉載 java 技術棧] eclipse 閱讀跟蹤 Java 源碼的幾個小技巧!

本文基於Eclipse IDE,咱們天天都使用的IDE其實提供了不少強大的功能,掌握它們,每每可以事半功倍。框架

一、Quick Type Hierarchy 快速查看類繼承體系。

快捷鍵:Ctrl + Tui

查看類不少人可能都知道,可源碼閱讀的時候更多用來查看方法體系更重要,能夠方便快速的定位到方法的實現類。如:插件

此時若是想查看getBean()方法如何實現,可能會讓你失望。結果以下:線程

進入到了BeanFactory的接口定義方法,什麼也沒有。此時咱們直接在getBean上 Ctrl+T :debug

能夠看到其實現的子類,點擊子類進去便可。此方法還適用於框架中很是常見的模板方法模式,在抽象類中定義的模板方法,用這招輕鬆找到實現類。3d

固然還有詳細的Open Type Hierarchy調試

會在左側視圖裏面展現更好的Type View:blog

 

二、Open Call Hierachy 打開層級調用

快捷鍵:Ctrl+Alt+H繼承

我的認爲這是閱讀源碼最有用的利器,掌握它,能夠輕鬆遊走於各類方法調用之間。然而從我身邊的朋友來看, 不少人都不知道他的存在。推薦你們看這篇文章《10個Eclipse珍藏插件推薦》。接口

Open Call Hierachy 查看結果以下,調用關係清晰明朗,能夠直接定位到調用的地方。

三、debug 斷點的靈活使用

斷點調式時,心中必須很清楚F五、F六、F七、F8的做用,否則要麼迷失於源碼之中,要麼什麼都沒看清就走完了。

從新囉嗦一下它們的做用:

  • F5 Step Into,單步進入。進入到某個方法裏面;

  • F6 Step Over,單步結束。一行一行的執行代碼,入門時不少人只會一行一行走;

  • F7 Step Return,跳出放發。進入到某個方法裏面時,若是發現這個方法沒有你想看的東西,或者已經看到了你想看的,直接F7,跳出到方法外;

  • F8 Resume,繼續往下執行。往下執行,遇到下一個斷點時再停下來,沒有則一直運行完。

調試時咱們可能會常常遇到loadClass的狀況:

在40行想進入ClassPathXmlApplicationContext構造方法,F5不料進入了類加載:

熟悉類加載的同窗會很熟悉,不熟悉類加載機制的也不要慌,這是說明你調試的類第一次被加載,這時候咱們F7跳出類加載,回到40行。

這個時候再按F5會真正進入ClassPathXmlApplicationContext構造方法。
當咱們斷點跟蹤Spring這種源碼的時候,必定要有節奏,以優先找到總體脈絡爲準,不要一直的F5進入每一行細看,F5下去,幾天都走不完Spring。

能熟練在Spring這種框架中F五、F六、F七、F8,就離弄懂他不遠了。

Debug的時候還應該注意debug視圖的線程棧:

這個視圖可以讓你在走得比較深的時候,能夠一眼看出本身怎麼進來的,當前位於什麼方法裏等信息,還能夠點擊對應的代碼行數進入查看。

 

總結,這是我使用IDE跟蹤源碼的幾個小技巧,尤爲是第二點,是很實用的,但願對你們在進行源碼跟蹤時有必定幫助。

相關文章
相關標籤/搜索