|
JProbe Suite ——提高開(kāi)發(fā)效率,改善JAVA應(yīng)用性能JProbe產(chǎn)品推出了優(yōu)惠活動(dòng)。功能日趨完備,價(jià)格更加優(yōu)惠。信賴(lài)它,選擇它。 詳情咨詢(xún):010-62139280 鑄銳數(shù)碼(www.)
JProbe Suite是一種能節(jié)省開(kāi)發(fā)時(shí)間、降低開(kāi)發(fā)費(fèi)用、改善Java應(yīng)用運(yùn)行速度及和擴(kuò)展能力的強(qiáng)大工具套件,在全球各地?fù)碛写罅坑脩?hù)。通過(guò)JProbe Suite,開(kāi)發(fā)和測(cè)試小組可以全面診斷應(yīng)用性能、內(nèi)存使用、線(xiàn)程及代碼覆蓋等問(wèn)題。無(wú)須修改應(yīng)用,JProbe就能對(duì)桌面或遠(yuǎn)程服務(wù)器上的應(yīng)用進(jìn)行分析,實(shí)現(xiàn)強(qiáng)大的信息展示和Java代碼性能診斷功能。利用JProbe先進(jìn)的數(shù)據(jù)收集功能,可以實(shí)現(xiàn)自動(dòng)化的性能信息采集,縮短應(yīng)用開(kāi)發(fā)和優(yōu)化周期。 JProbe在簡(jiǎn)單易用的集成化套件中,為servlet、JSP和EJB應(yīng)用代碼提供了強(qiáng)大的Java性能分析、內(nèi)存糾錯(cuò)、代碼覆蓋及線(xiàn)程分析功能。
提高Java開(kāi)發(fā)質(zhì)量之"內(nèi)存泄露"
---Quest JProbe實(shí)踐之一當(dāng)前,J2EE的開(kāi)發(fā)質(zhì)量的問(wèn)題已經(jīng)越來(lái)越突出,如果你的即將上線(xiàn)或已經(jīng)上線(xiàn)的應(yīng)用經(jīng)常不穩(wěn)定,特別在負(fù)載大時(shí)尤為明顯,你經(jīng)常忙于在最后時(shí)刻救火,那么應(yīng)該考慮在開(kāi)發(fā)的早期盡量進(jìn)行性能方面的測(cè)試。本文將探討在J2EE開(kāi)發(fā)中,常見(jiàn)的解決辦法,這里以Quest JProbe Suite 工具為例,說(shuō)明在實(shí)際開(kāi)發(fā)中應(yīng)如何提高開(kāi)發(fā)質(zhì)量。 "內(nèi)存泄露"是目前Java應(yīng)用中最為常見(jiàn)的問(wèn)題之一,單元測(cè)試的不完善直接導(dǎo)致生產(chǎn)系統(tǒng)的不穩(wěn)定。單元測(cè)試是解決"內(nèi)存泄露"問(wèn)題的比較適當(dāng)?shù)沫h(huán)節(jié)。這樣可以避免在生產(chǎn)系統(tǒng)中進(jìn)行冗長(zhǎng)煩瑣的搜集數(shù)據(jù)和分析工作。
提高Java開(kāi)發(fā)質(zhì)量之性能瓶頸
---Quest JProbe實(shí)踐之四應(yīng)用的性能瓶頸很大程度上取決于程序中算法的好壞,算法好則應(yīng)用的反應(yīng)時(shí)間比較快,耗費(fèi)的系統(tǒng)資源也比較少;反之,應(yīng)用反應(yīng)遲緩,效率低下。我們?nèi)绾伟l(fā)現(xiàn)應(yīng)用使用的算法好壞和診斷出應(yīng)用存在的性能瓶頸呢?下面我們使用JProbe Profiler對(duì)給出的兩個(gè)用例進(jìn)行診斷分析,找出其性能瓶頸。 性能瓶頸可定位到類(lèi)中的方法,一般有兩種原因,一個(gè)是單次執(zhí)行該方法的時(shí)間長(zhǎng),另一個(gè)原因是該方法被調(diào)用的次數(shù)多。
提高Java開(kāi)發(fā)質(zhì)量之短期對(duì)象循環(huán)
---Quest JProbe實(shí)踐之二短期對(duì)象循環(huán)問(wèn)題是造成J2EE應(yīng)用在應(yīng)用負(fù)載高峰時(shí)性能急劇下降,甚至JVM崩潰。 "短期對(duì)象循環(huán)是指在一個(gè)請(qǐng)求或方法執(zhí)行期間創(chuàng)建了大量對(duì)象,該請(qǐng)求或方法執(zhí)行完成后,這些申請(qǐng)的對(duì)象將被垃圾回收,這將導(dǎo)致頻繁的垃圾回收,甚至在并發(fā)數(shù)量多時(shí),將引發(fā)內(nèi)存不足的嚴(yán)重問(wèn)題。一個(gè)典型的例子是String和StringBuffer的使用。
提高Java開(kāi)發(fā)質(zhì)量之"代碼覆蓋"
---Quest JProbe實(shí)踐之三我們?cè)u(píng)價(jià)一個(gè)應(yīng)用的有效性,通常要進(jìn)行覆蓋代碼的單元測(cè)試,分析代碼是否都能被有效的使用。 一般性過(guò)程是采用全面的測(cè)試用例,然后分析代碼覆蓋情況,對(duì)于未執(zhí)行過(guò)的代碼需要特別關(guān)注和分析。未執(zhí)行的代碼一般是由于測(cè)試用例不完善或代碼本身是無(wú)用代碼。 這需要借助有力的工具,這里以JProbe Coverage 為例說(shuō)明。
一 介紹
在Java的廣泛應(yīng)用中,一個(gè)關(guān)鍵驅(qū)動(dòng)因素是由于使用標(biāo)準(zhǔn)類(lèi)庫(kù)和應(yīng)用框架從而提高了生產(chǎn)效率。通過(guò)減少必要的設(shè)計(jì),實(shí)現(xiàn)和調(diào)試等軟件開(kāi)發(fā)任務(wù),Java在各種平臺(tái)之間極大地改善了集成性和互操作性;其它的開(kāi)發(fā)環(huán)境都不能提供象Java那樣的強(qiáng)大功能。實(shí)際上,沒(méi)有一個(gè)環(huán)境象J2EE那樣具有明顯的基于框架開(kāi)發(fā)的優(yōu)點(diǎn),J2EE能夠快速地構(gòu)建可擴(kuò)展,分布式的安全企業(yè)級(jí)應(yīng)用。 雖然這些優(yōu)點(diǎn)一直在促進(jìn)J2EE的空前發(fā)展,但也經(jīng)常出現(xiàn)一些麻煩,那就是人們經(jīng)常對(duì)J2EE應(yīng)用的性能感到失望。因此,我們需要一些工具和調(diào)查策略來(lái)幫助J2EE開(kāi)發(fā)團(tuán)隊(duì)解決這些性能問(wèn)題。這就是Quest JProbe Profiler和Jprobe Memory Debugger所要解決的問(wèn)題。
3.2 性能分析
解決對(duì)象循環(huán)問(wèn)題有助于性能的改進(jìn),但你可能仍然面臨著性能瓶頸。進(jìn)行一次性能分析可幫助你在J2EE應(yīng)用中識(shí)別低效率的算法。JProbe Profiler提供了應(yīng)用的方法級(jí)和源代碼行級(jí)度量值。 |
|
|