更新時間:2020-03-10 11:41:28 來源:動力節(jié)點 瀏覽2221次
北京Java就業(yè)培訓(xùn)教程:Java性能的技巧,很多人都理所當(dāng)然的以為性能優(yōu)化是一件復(fù)雜且深奧的事情,需要具備豐富經(jīng)驗和知識前提;可實際上,雖然這事兒不算簡單,但也并不代表你不了解這些知識就不能做任何事情。
1.確認(rèn)必要后再進行優(yōu)化
通常,我們還是該遵循常見的最佳實踐方案并嘗試高效的實現(xiàn),因為大部分情況下過早的進行優(yōu)化不但會占用大量時間,還會使代碼變得難以閱讀和維護;更糟的情況是,你用大量時間來優(yōu)化的或許只是非關(guān)鍵部分,這些努力往往得不到任何好處。
那如何才能確認(rèn)自己需要做出一些優(yōu)化呢?首先,我們要先定義程序代碼的速度,比如為API調(diào)用指定最大響應(yīng)時間,或指定特定時間內(nèi)需要導(dǎo)入的數(shù)量,這樣你就可以知道程序的哪些部分太慢需要改進。
2.使用分析器查找真正的瓶頸
當(dāng)你遵循了第一個技巧,并且確定了程序的某些模塊需要改進時,我們需要明確該從哪里開始,你可以用兩種方法來解決問題:
1.查看你的代碼,并從看起來可疑或者你覺得可能會產(chǎn)生問題的部分開始。
2.或者使用分析器并獲取有關(guān)代碼每個部分的行為和性能的詳細(xì)信息。
很明顯,基于分析器的方法可以讓你更好地理解代碼的性能影響,并使你能夠?qū)W⒂陉P(guān)鍵部分。如果你曾使用過分析器,那么你一定記得曾經(jīng)你是多么驚訝于一下就找到了代碼的哪些部分產(chǎn)生了性能問題。
3.為整個應(yīng)用程序創(chuàng)建性能測試套件
擁有一個用于整個程序的性能測試套件,并在性能改進之前和之后運行它。這是一個通用技巧,它可以讓你在性能優(yōu)化部署到生產(chǎn)后,免去承擔(dān)更多突發(fā)問題的風(fēng)險。
這些額外的測試運行將幫助你識別更改的功能和性能副作用,并確保不會導(dǎo)致弊大于利的更新。如果你工作于被應(yīng)用程序若干不同部分使用的組件,如數(shù)據(jù)庫或緩存,那么這一點就尤其重要。
4.首先處理最大的瓶頸
那又說回來了,我們究竟該從哪里開始呢?我的建議是可以專注于速效方案,或從最重要的問題開始。速效方案在前期可能很有吸引力,因為我們可以快速收獲成果。但有時,可能就需要你說服其他人堅信性能分析是值得的,因為它也經(jīng)常會在短期內(nèi)看不到效果。
不過總體而言,還是建議首先處理最重要的性能問題,這將為你提供最大的性能改進,而且可能再也不需要去解決其中一些為了滿足性能需求的問題。
5.使用StringBuilder以編程方式連接String
有很多不同的選項來連接Java中的String,哪種方式最好呢?這要取決于連接String的代碼。
如果你是以編程方式添加新內(nèi)容到String中,例如for循環(huán),則應(yīng)該使用StringBuilder,因為它很容易,又能提供良好的性能。但是,與StringBuffer相比,StringBuilder不是線程安全的,不能適應(yīng)所有案例。
以上就是動力節(jié)點Java培訓(xùn)機構(gòu)小編介紹的“北京Java就業(yè)培訓(xùn)教程:Java性能的技巧”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。