來(lái)源:北大青鳥(niǎo)飛迅校區(qū)|發(fā)布時(shí)間:2013-05-01 10:32:07
技巧1:使用分析器
分析器提供了任何其他工具無(wú)法提供的功能,從而能夠深入檢查你的應(yīng)用。如果你的應(yīng)用已經(jīng)有一年多時(shí)間沒(méi)有被分析過(guò)了,那么它肯定會(huì)有大塊大塊的低效代碼,潛伏在某個(gè)黑暗的角落。市面上有許多不同的或免費(fèi)或商業(yè)的分析器。對(duì)于CPU分析,我最喜歡的是JProfiler,因?yàn)樗銐驈?qiáng)大能分析出大多數(shù)問(wèn)題,同時(shí)易于設(shè)置,尤其當(dāng)你使用它內(nèi)建的設(shè)置向?qū)У臅r(shí)候。而診斷內(nèi)存問(wèn)題時(shí),我最親睞的工具是Eclipse Memory Analyzer,因?yàn)樗褂玫氖怯涗浽诖疟P上的索引,而不是把整個(gè)堆的快照放到內(nèi)存中。
通常來(lái)說(shuō),隱藏著的易耗盡CPU的代碼包括低效的hashCode()或者equals()方法(在卷動(dòng)JTable時(shí)以及使用Java collection類時(shí),它們會(huì)被調(diào)用上百萬(wàn)次),以及一些出人意料的出自Sun之手的低效類,比如SimpleDateFormat。
分析器可能會(huì)明顯地讓你的應(yīng)用變得很慢,所以你一定要在測(cè)試環(huán)境中使用它。
技巧2:監(jiān)控?cái)?shù)據(jù)庫(kù)使用狀況
分析器除了可以顯示你的應(yīng)用過(guò)度占用CPU時(shí)鐘的細(xì)節(jié),它們也可以對(duì)你的應(yīng)用在哪些地方長(zhǎng)時(shí)間做了數(shù)據(jù)庫(kù)的操作給出提示。但更好的用來(lái)監(jiān)控?cái)?shù)據(jù)使用的工具,是像Proactive DBA或者HP Diagnostics,或者任何其他來(lái)自于你的數(shù)據(jù)庫(kù)產(chǎn)品廠商的工具。這些工具可以告訴你,哪些代碼做了長(zhǎng)時(shí)間的SQL調(diào)用,以及哪些代碼在短時(shí)間內(nèi)對(duì)同一行做了多次調(diào)用。來(lái)自數(shù)據(jù)庫(kù)廠商的工具還可以幫助發(fā)現(xiàn)那些阻塞了其他調(diào)用的查詢;雖然在我的經(jīng)驗(yàn)里,這樣的阻塞問(wèn)題基本不過(guò)是些簡(jiǎn)單的、低效的SQL用法。
我寫(xiě)了一個(gè)新的工具叫做jdbcGrabber,它可以讓你以可視化的形式描述出哪些代碼正在訪問(wèn)哪些數(shù)據(jù)表。通過(guò)這種可視化呈現(xiàn),你可以很容易發(fā)現(xiàn)那些多次訪問(wèn)數(shù)據(jù)庫(kù)中不同部分信息的代碼,從而將其調(diào)整為一次合并的請(qǐng)求。
技巧3:構(gòu)建和部署自動(dòng)化
許多遺留系統(tǒng)缺乏一種完全自動(dòng)化的方式,來(lái)構(gòu)建它們的代碼,更不用說(shuō)自動(dòng)部署了。自動(dòng)化構(gòu)建和部署對(duì)于提高遺留系統(tǒng)開(kāi)發(fā)者的效率來(lái)說(shuō),是一種簡(jiǎn)單直接而又低風(fēng)險(xiǎn)的方式,而且通常不需要修改代碼。
沒(méi)有自動(dòng)化的構(gòu)建和部署過(guò)程,新的開(kāi)發(fā)者不得不重新發(fā)明輪子,跟那些前輩們?cè)缇投窢?zhēng)過(guò)的同樣問(wèn)題重新來(lái)斗,而且每次重復(fù)的部署問(wèn)題發(fā)生,開(kāi)發(fā)者都會(huì)發(fā)明出不同的解決方案。
雖然Maven是一款卓越的而且使用廣泛的構(gòu)建工具,但它對(duì)你的源碼樹(shù)結(jié)構(gòu)以及庫(kù)依賴有著固執(zhí)的要求,所以把它用在遺留應(yīng)用中會(huì)有點(diǎn)困難。但足夠優(yōu)秀的Ant應(yīng)該更易于使用,因?yàn)樗幚砥疬z留代碼結(jié)構(gòu)更加靈活,也更容易部分采用,而不是全盤采用。
全程面授,不高薪都難
申請(qǐng)成功后,我們將在24小時(shí)內(nèi)與您聯(lián)系
招生熱線: 4008-0731-86 / 0731-82186801
學(xué)校地址: 長(zhǎng)沙市天心區(qū)團(tuán)結(jié)路6號(hào)
Copyright © 2006 | 湖南大計(jì)信息科技有限公司 版權(quán)所有
湘ICP備14017520號(hào)-3