原創(chuàng)|對(duì)比評(píng)測(cè)|編輯:龔雪|2014-03-18 10:29:09.000|閱讀 5684 次
概述:在Java程序的開發(fā)過程中,不可避免地會(huì)遇到內(nèi)存使用、性能瓶頸等問題。Java性能測(cè)試工具可以幫助開發(fā)人員快速、有效地解決性能問題。目前,市場(chǎng)上的Java性能測(cè)試工具種類多樣,每一種工具都有哪些優(yōu)劣呢?本文將對(duì)幾款常用的Java性能測(cè)試工具進(jìn)行對(duì)比,希望可以幫助Java開發(fā)人員選擇正確的Java性能測(cè)試工具。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
雖然市場(chǎng)上的 Java Profiler 工具有不少,但是基本功能大多相似,本節(jié)首先對(duì)這些基本功能進(jìn)行介紹。
遙測(cè)(Telemetry):遙測(cè)是一種用來查看應(yīng)用程序運(yùn)行行為的最簡(jiǎn)單的方法。通常會(huì)有多個(gè)視圖(View)分別實(shí)時(shí)地顯示 CPU 使用情況、內(nèi)存使用情況、線程狀態(tài)以及其他一些有用的信息,以便用戶能很快地發(fā)現(xiàn)問題的關(guān)鍵所在。
快照(snapshot):應(yīng)用程序啟動(dòng)后,profiler 工具開始收集各種執(zhí)行數(shù)據(jù),其中一些數(shù)據(jù)直接顯示在遙測(cè)視圖中,而另外大部分?jǐn)?shù)據(jù)被保存在內(nèi)部,直到用戶要求獲取快照,基于這些保存的數(shù)據(jù)的統(tǒng)計(jì)信息才被 顯示出來。快照包含了應(yīng)用程序在一段時(shí)間內(nèi)的執(zhí)行信息,通常有兩種類型的快照:CPU 快照和內(nèi)存快照。
CPU分析:CPU Profiling 的主要目的是統(tǒng)計(jì)函數(shù)的調(diào)用情況及執(zhí)行時(shí)間,或者更簡(jiǎn)單的情況就是統(tǒng)計(jì)應(yīng)用程序的 CPU 使用情況。通常有兩種方式來顯示 CPU Profiling 結(jié)果:CPU 遙測(cè)和 CPU 快照。
內(nèi)存分析:內(nèi)存 Profiling 的主要目的是通過統(tǒng)計(jì)內(nèi)存使用情況檢測(cè)可能存在的內(nèi)存泄露問題及確定優(yōu)化內(nèi)存使用的方向。通常有兩種方式來顯示內(nèi)存 Profiling 結(jié)果:內(nèi)存遙測(cè)和內(nèi)存快照
線程分析:線程 Profiling 主要用于在多線程應(yīng)用程序中確定內(nèi)存的問題所在。
Profiling 的啟動(dòng)設(shè)置:類似于 eclipse 中 Run 和 Debug 的啟動(dòng)設(shè)置,進(jìn)行 Profiling 之前也需要進(jìn)行啟動(dòng)設(shè)置,包括:profiling 的模式 (CPU profiling 或內(nèi)存 profiling),信息獲取類型(遙測(cè) , 抽樣統(tǒng)計(jì)或者 BCI ) 等等。
Profiler Preference 設(shè)置:主要用于 Profiler 過濾器(選擇需要關(guān)注的包、類)、取樣間隔時(shí)間的設(shè)置等。
Java剖析工具介紹
接下來,我們一起來認(rèn)識(shí)幾款常用的Java性能分析工具。
JProfiler--唯一一款獲過獎(jiǎng)的Java剖析器,被譽(yù)為"最好的Java剖析/測(cè)試工具"
JProfiler是唯一一款獲獎(jiǎng)的Java剖析器。JProfiler直觀的用戶界面能夠幫助你解決性能瓶頸,指明你的內(nèi)存漏洞并解決線程問題。
JProfiler直覺式的GUI讓你可以找到性能瓶頸、抓出內(nèi)存漏失(memory leaks)、并解決執(zhí)行緒的問題。它讓你得以對(duì)heap walker作資源回收器的root analysis,可以輕易找出內(nèi)存漏失;heap快照(snapshot)模式讓未被參照(reference)的對(duì)象、稍微被參照的對(duì)象、或在終結(jié)(finalization)隊(duì)列的對(duì)象都會(huì)被移除;整合精靈以便剖析瀏覽器的Java外掛功能。
YourKit Java Profiler--業(yè)界領(lǐng)先的 Java 剖析工具
CPU 和內(nèi)存的剖析歷來是很困難的,YourKit 創(chuàng)造出了革命性的剖析工具,應(yīng)用在研發(fā)和生產(chǎn)階段,為專業(yè)的 Java 開發(fā)者帶來了無比的好處。
YourKit Java Profiler 使 CPU 和內(nèi)存相關(guān)的性能的一系列問題更加容易,它具有自動(dòng)檢測(cè)漏洞、分析內(nèi)存狀態(tài)的強(qiáng)有力的工具、對(duì)象瀏覽器、作為 JUnit 測(cè)試過程一部分對(duì)內(nèi)存進(jìn)行全面測(cè)試等功能,并可與Eclipse、JBuilder、IntelliJ IDEA、NetBeans 和 JDeveloper IDEs 進(jìn)行集成。
總的來講,YourKit Java Profiler 是一個(gè)目前很受歡迎的 Java Profiler(Java調(diào)優(yōu)器),可以用來分析和監(jiān)控你的應(yīng)用程序的性能,從而進(jìn)行更好地調(diào)優(yōu)。
Java剖析工具對(duì)比
JProfiler 是一款比較獨(dú)立的工具,安裝成功后,用戶可以直接在 eclipse 中啟動(dòng) JProfiler,其他所有操作必須回到 JProfiler 工具中進(jìn)行。因此和 Eclipse 的集成性稍有不足。使用jprofiler最大的好處就是在觀察堆棧和虛擬機(jī)內(nèi)存使用上的方便,另外測(cè)試多線程也比jdk自帶的兩個(gè)工具強(qiáng)大。
YourKit Java Profiler也是一個(gè)比較獨(dú)立的工具,安裝成功后,用戶可以直接在 eclipse 中啟動(dòng) YourKit Java Profiler 并對(duì) profiling 選項(xiàng)進(jìn)行配置,但是用戶必須在 YourKit Java Profiler 工具中對(duì) Profiling preferrence 進(jìn)行配置,而且 profiling 信息必須在 YourKit Java Profiler中進(jìn)行查看,因此使用起來不太方便。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)