VisualVM中文版是一款提供了多種jdk命令行的可視化工具,我們可以使用VisualVM來對Java應(yīng)用程序進(jìn)行測試和優(yōu)化,并且這款軟件還能夠?yàn)橛脩籼峁㎎ava應(yīng)用程序的分析數(shù)據(jù),功能非常強(qiáng)大。
一、性能分析的主要方式
1.監(jiān)視:監(jiān)視是一種用來查看應(yīng)用程序運(yùn)行時(shí)行為的一般方法。通常會有多個(gè)視圖(View)分別實(shí)時(shí)地顯示 CPU 使用情況、內(nèi)存使用情況、線程狀態(tài)以及其他一些有用的信息,以便用戶能很快地發(fā)現(xiàn)問題的關(guān)鍵所在。
2.轉(zhuǎn)儲:性能分析工具從內(nèi)存中獲得當(dāng)前狀態(tài)數(shù)據(jù)并存儲到文件用于靜態(tài)的性能分析。Java 程序是通過在啟動 Java 程序時(shí)添加適當(dāng)?shù)臈l件參數(shù)來觸發(fā)轉(zhuǎn)儲操作的。它包括以下三種:
系統(tǒng)轉(zhuǎn)儲:JVM 生成的本地系統(tǒng)的轉(zhuǎn)儲,又稱作核心轉(zhuǎn)儲。一般的,系統(tǒng)轉(zhuǎn)儲數(shù)據(jù)量大,需要平臺相關(guān)的工具去分析,如 Windows 上的 windbg 和 Linux 上的 gdb.
Java 轉(zhuǎn)儲:JVM 內(nèi)部生成的格式化后的數(shù)據(jù),包括線程信息,類的加載信息以及堆的統(tǒng)計(jì)數(shù)據(jù)。通常也用于檢測死鎖。
堆轉(zhuǎn)儲:JVM 將所有對象的堆內(nèi)容存儲到文件。
二、快照:
應(yīng)用程序啟動后,性能分析工具開始收集各種運(yùn)行時(shí)數(shù)據(jù),其中一些數(shù)據(jù)直接顯示在監(jiān)視視圖中,而另外大部分?jǐn)?shù)據(jù)被保存在內(nèi)部,直到用戶要求獲取快照,基于這些保存的數(shù)據(jù)的統(tǒng)計(jì)信息才被顯示出來。快照包含了應(yīng)用程序在一段時(shí)間內(nèi)的執(zhí)行信息,通常有 CPU 快照和內(nèi)存快照兩種類型。
CPU 快照:主要包含了應(yīng)用程序中函數(shù)的調(diào)用關(guān)系及運(yùn)行時(shí)間,這些信息通常可以在 CPU 快照視圖中進(jìn)行查看。
內(nèi)存快照:主要包含了內(nèi)存的分配和使用情況、載入的所有類、存在的對象信息及對象間的引用關(guān)系等。這些信息通常可以在內(nèi)存快照視圖中進(jìn)行查看。
三、性能分析:
性能分析是通過收集程序運(yùn)行時(shí)的執(zhí)行數(shù)據(jù)來幫助開發(fā)人員定位程序需要被優(yōu)化的部分,從而提高程序的運(yùn)行速度或是內(nèi)存使用效率,主要有以下三個(gè)方面:
CPU 性能分析:CPU 性能分析的主要目的是統(tǒng)計(jì)函數(shù)的調(diào)用情況及執(zhí)行時(shí)間,或者更簡單的情況就是統(tǒng)計(jì)應(yīng)用程序的 CPU 使用情況。通常有 CPU 監(jiān)視和 CPU 快照兩種方式來顯示 CPU 性能分析結(jié)果。
內(nèi)存性能分析:內(nèi)存性能分析的主要目的是通過統(tǒng)計(jì)內(nèi)存使用情況檢測可能存在的內(nèi)存泄露問題及確定優(yōu)化內(nèi)存使用的方向。通常有內(nèi)存監(jiān)視和內(nèi)存快照兩種方式來顯示內(nèi)存性能分析結(jié)果。
線程性能分析:線程性能分析主要用于在多線程應(yīng)用程序中確定內(nèi)存的問題所在。一般包括線程的狀態(tài)變化情況,死鎖情況和某個(gè)線程在線程生命期內(nèi)狀態(tài)的分布情況等
1贛教云教學(xué)通2.0-贛教云教學(xué)通2.0下載 v5......
2step7 microwin-西門子PLC S7......
3百度網(wǎng)盤清爽精簡純凈版-網(wǎng)盤工具-百度網(wǎng)盤清爽精......
4360安全瀏覽器-瀏覽器-360安全瀏覽器下載 ......
5谷歌瀏覽器 XP版-谷歌瀏覽器 XP版-谷歌瀏覽......
6Kittenblock重慶教育專用版-機(jī)器人編程......
7seo外鏈助手(超級外鏈) -SEO外鏈優(yōu)化工具......
8Notepad3-記事本軟件-Notepad3下......