您好,登錄后才能下訂單哦!
這篇文章給大家介紹java中怎么利用idea查看方法的調用過程,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
如圖所示,在idea里面運行main函數或者單元測試時有以下的選項
通常來說我們都是點的第一個或者第二個運行的
Run StringUtils.main() : 直接運行
Debug StringUtils.main(): 以debug 的方式運行,可以打斷點
Run StringUtils.main with Coverage 帶有運行覆蓋率報告的運行
用這個運行的話,可以看到我們的代碼覆蓋報告:
在這三個里面,我們可以看到運行時,方法調用等信息
Run StringUtils.main() with Allocations Profiler: 用這個運行,可以看到線程信息,可以看到線程里面方法調用棧的信息
Run StringUtils.main() with CPU profiler : 用這個運行,可以看到虛擬機和cpu進行交互的一些方法,比較底層
Run StringUtils.main with Java Flight Recorder: 用這個運行,可以看到java飛行記錄器記錄的運行時系統的一些信息
通過這些附加方法的調用,我們可以看到系統一些內部的信息,可以為我們學習源碼,指條路徑
如下圖是運行spring 時調用方法列表,在這里面可以清楚的看到springboot 的上下文加載, bean的初始化以及填充,可以對學習spring 各大組件,以及源碼提供幫助
通過CPU profiler 來運行,可以看到更底層的一些東西, 上面也有一些外層的調用方法,更多的還有C/C++底層的方法調用, invoke 等方法
在第一次調用時,需要先配置jvm 參數:
在idea右上角的configuration里面進行jvm 參數配置
點擊 Run StringUtils.main with Java Flight Recorder,如下圖所示,不僅僅可以看到Allocations Profiler里面的Flame Graph , Call Tree , MethodList 還多了一個Event ,可以看到JVM運行時一些事件, 如GC, Thread, 類似于飛機上的黑盒子,可以看到內部的一個參數,狀態,對jvm調優有很大的幫助
idea 還有很多很強大的功能等待大家去發掘, 如可以直接連數據庫,直接連redis , 直接ssh連接遠程服務器.還有許多強大的功能,大家可以和小刀分享一下:best396975802
關于java中怎么利用idea查看方法的調用過程就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。