天天看點

使用JDK自帶的VisualVM進行Java程式的性能分析

VisualVM是什麼?

VisualVM是JDK自帶的一個用于Java程式性能分析的工具,JDK安裝完畢後就有啦,在JDK安裝目錄的bin檔案夾下能找到名稱為jvisualvm.exe。

要使用VisualVM分析您的應用性能,首先得讓VisualVM識别出您的應用。Eclipse有個插件名叫“VisualVM Launcher for Eclipse”,可以幫助我們做到這一點。

Eclipse VisualVM Launcher的安裝和配置

1. 從下面的連結下載下傳VisualVM Launcher插件。下載下傳完畢後,放到您本地Eclipse檔案夾的plugins檔案夾下。

http://visualvm.java.net/eclipse-launcher.html

你可以參考下圖我本地的Eclipse檔案夾。注意這個插件解壓之後,應該有一個名叫site.xml的檔案。

2. 在Eclipse裡,菜單 “Help->Install New Software”, 點 “Local”, 把第一步下載下傳的插件檔案加載進去。

Plugin檔案已經被成功識别出來,可以安裝了。

3. 安裝完畢,重新開機Eclipse,能在Eclipse的option裡能看到一個新的關于VisualVM的界面了。我們需要告訴Eclipse我們JDK自帶的VisualVM的可執行檔案具體路徑。這裡根據JDK的路徑指定即可。

注意JDK home可别錯誤指定成JRE的路徑了,否則Eclipse也會貼心地彈出錯誤提示:Error Starting VisualVM:You are running VisualVM using Java Runtime Environment(JRE)。

使用VisualVM進行性能測試

右鍵單擊您的Java項目,從右鍵菜單裡選擇“Run as”->”Run configuration”, 建立一個新的應用程式啟動配置。

因為前面我們已經成功安裝了Eclipse VisualVM Launcher,是以此時發現除了Eclipse自帶的Eclipse JDT launcher之外,多了一個VisualVM Launch的選項。

2. 假設我自己實作了一個快速排序算法,我想測一測它的性能。

首先我在下圖代碼第57行執行我的快速排序算法之處設定一個斷點。

然後使用前一步建立的基于Eclipse VisualVM Launcher的應用程式啟動配置,以調試模式啟動我的Java應用。

斷點觸發,這樣VisualVM就成功識别到了我的Java應用。點選Profiler标簽頁:

目前狀态: profiling inactive.

點選CPU按鈕:

現在Profile處于激活狀态了。

3. 回到Eclipse,按F8結束應用程式的執行。應用程式一旦結束,VisualVM會立即撲捉到這個事件,并彈出一個視窗通知我們:

點Yes,就可以查閱VisualVM為我們産生的性能評測分析報告了。

繼續閱讀