來(lái)源:北大青鳥飛迅校區(qū)|發(fā)布時(shí)間:2013-04-23 11:07:27
如何更新和激活Java“遺留”系統(tǒng)?這里找了8個(gè)更新和激活Java“遺留”系統(tǒng)的小技巧,都是易于采用,并風(fēng)險(xiǎn)相對(duì)要低,讓你的應(yīng)用改善后看起來(lái)就像是新的一樣。
最近我們想讀者面介紹了“Java性能監(jiān)控的小技巧”和“Java內(nèi)存管理的小技巧”。Java已經(jīng)是一門具有15年歷史的開發(fā)語(yǔ)言,用Java寫就的成千上萬(wàn)的系統(tǒng)已經(jīng)成功運(yùn)行了十年甚至更久。Java的系統(tǒng)上同樣也有“遺留”系統(tǒng)的問(wèn)題,這也是許多讀者在工作中都會(huì)遇到的問(wèn)題。因此,我根據(jù)自己的經(jīng)驗(yàn)特地?cái)了這八個(gè)技巧,來(lái)幫助團(tuán)隊(duì)更新和激活他們的遺留Java應(yīng)用。
技巧1:升級(jí)你的JRE
當(dāng)我告訴一些團(tuán)隊(duì)Sun(現(xiàn)在是Oracle)早在2009年11月就已經(jīng)宣稱不在繼續(xù)對(duì)JDK 1.5的支持時(shí),他們?nèi)匀挥X得驚訝不已。這不僅僅是立刻要升級(jí)JRE到1.6的事情。那些歷經(jīng)磨難的團(tuán)隊(duì),還記得從1.1升級(jí)到1.2或者1.4升級(jí)到1.5時(shí)所發(fā)生的一切,他們可能對(duì)這樣的升級(jí)還感到猶豫。但我的經(jīng)驗(yàn)是,這樣的升級(jí)會(huì)很平滑,而且會(huì)給應(yīng)用帶來(lái)一次顯著的免費(fèi)的性能飛躍。另外,JDK 1.6還帶來(lái)許多有用的、免費(fèi)的運(yùn)維和分析工具,來(lái)幫助診斷那些你這些年一直備受困擾的垃圾回收問(wè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用法。
我寫了一個(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)開發(fā)者的效率來(lái)說(shuō),是一種簡(jiǎn)單直接而又低風(fēng)險(xiǎn)的方式,而且通常不需要修改代碼。
沒有自動(dòng)化的構(gòu)建和部署過(guò)程,新的開發(fā)者不得不重新發(fā)明輪子,跟那些前輩們?cè)缇投窢?zhēng)過(guò)的同樣問(wèn)題重新來(lái)斗,而且每次重復(fù)的部署問(wèn)題發(fā)生,開發(fā)者都會(huì)發(fā)明出不同的解決方案。
雖然Maven是一款卓越的而且使用廣泛的構(gòu)建工具,但它對(duì)你的源碼樹結(jié)構(gòu)以及庫(kù)依賴有著固執(zhí)的要求,所以把它用在遺留應(yīng)用中會(huì)有點(diǎn)困難。但足夠優(yōu)秀的Ant應(yīng)該更易于使用,因?yàn)樗幚砥疬z留代碼結(jié)構(gòu)更加靈活,也更容易部分采用,而不是全盤采用。
技巧4:自動(dòng)化你的操作并使用JMX
另外一種提高遺留應(yīng)用的效率但不會(huì)帶來(lái)修改代碼的風(fēng)險(xiǎn)的方式是,改善它的運(yùn)維。許多內(nèi)部開發(fā)的企業(yè)系統(tǒng),一般都需要大量出人意料的手把手指導(dǎo)和維護(hù),即使這樣是不應(yīng)該的。
全程面授,不高薪都難
申請(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