當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 四川OA系統(tǒng) > 成都OA系統(tǒng) > 成都網(wǎng)站建設(shè)公司
Java語言常用性能優(yōu)化技巧
代碼優(yōu)化的目的是讓程序用盡可能少的資源完成預(yù)定的任務(wù)。優(yōu)化通常包含兩方面的內(nèi)容:減小代碼的體積,提高代碼的運(yùn)行效率。
java程序常用的方法有以下幾種:
1.不用new關(guān)鍵詞創(chuàng)建類的實(shí)例。用new關(guān)鍵詞創(chuàng)建類的實(shí)例時(shí),構(gòu)造函數(shù)鏈中的所有構(gòu)造函數(shù)都會(huì)被自動(dòng)調(diào)用。但如果一個(gè)對象實(shí)現(xiàn)了Cloneable接口,我們可以調(diào)用它的clone()方法。clone()方法不會(huì)調(diào)用任何類構(gòu)造函數(shù)。 在使用設(shè)計(jì)模式(Design Pattern)的場合,如果用Factory模式創(chuàng)建對象,則改用clone()方法創(chuàng)建新的對象實(shí)例非常簡單。
2.慎用異常。異常對性能不利。拋出異常首先要?jiǎng)?chuàng)建一個(gè)新的對象。Throwable接口的構(gòu)造函數(shù)調(diào)用名為fillInStackTrace()的本地(Native)方法,fillInStackTrace()方法檢查堆棧,收集調(diào)用跟蹤信息。只要有異常被拋出,VM就必須調(diào)整調(diào)用堆棧,因?yàn)樵谔幚磉^程中創(chuàng)建了一個(gè)新的對象。異常只能用于錯(cuò)誤處理,不應(yīng)該用來控制程序流程。
3.不要重復(fù)初始化變量。默認(rèn)情況下,調(diào)用類的構(gòu)造函數(shù)時(shí), Java會(huì)把變量初始化成確定的值:所有的對象被設(shè)置成null,整數(shù)變量(byte、short、int、long)設(shè)置成0,float和double變量設(shè)置成0.0,邏輯值設(shè)置成false。當(dāng)一個(gè)類從另一個(gè)類派生時(shí),這一點(diǎn)尤其應(yīng)該注意,因?yàn)橛胣ew關(guān)鍵詞創(chuàng)建一個(gè)對象時(shí),構(gòu)造函數(shù)鏈中的所有構(gòu)造函數(shù)都會(huì)被自動(dòng)調(diào)用。
4.盡量指定類的final修飾符。帶有final修飾符的類是不可派生的。在Java核心API中,有許多應(yīng)用final的例子,例如java.lang.String。為String類指定final防止了人們覆蓋length()方法。另外,如果指定一個(gè)類為final,則該類所有的方法都是final。此舉能夠使性能平均提高50%。
5.盡量使用局部變量。調(diào)用方法時(shí)傳遞的參數(shù)以及在調(diào)用中創(chuàng)建的臨時(shí)變量都保存在棧(Stack)中,速度較快。其他變量,如靜態(tài)變量、實(shí)例變量等,都在堆(Heap)中創(chuàng)建,速度較慢。另外,依賴于具體的編譯器/JVM,局部變量還可能得到進(jìn)一步優(yōu)化。
- 1新手經(jīng)驗(yàn):網(wǎng)站備案流程和注意事項(xiàng)
- 2怎樣阻止域名劫持
- 3網(wǎng)頁頁腳放很多的外鏈有用嗎
- 4中小企業(yè)服務(wù)器虛擬化
- 5如何確保網(wǎng)站優(yōu)化后有穩(wěn)定的排名?
- 6一個(gè)好的域名有哪些作用呢?
- 7網(wǎng)站優(yōu)化中一些有關(guān)信息
- 8為什么SEO不能保證絕對效果
- 9網(wǎng)站制作使用中文域名的六大好處是啥?
- 10如何試用中文域名呢?
- 11網(wǎng)站優(yōu)化必要性
- 12域名選擇細(xì)節(jié)四要點(diǎn)
- 13營銷型網(wǎng)站建設(shè)
- 14網(wǎng)站優(yōu)化和搜索引擎的優(yōu)化
- 15分析百度排名不穩(wěn)定的幾大影響因素
- 16從網(wǎng)站結(jié)構(gòu)分析 淺談網(wǎng)站內(nèi)外優(yōu)化如何結(jié)合
- 17如何選擇虛擬主機(jī)空間:教你最簡單的建站來源
- 18網(wǎng)站URL相關(guān)問題
- 19網(wǎng)站優(yōu)化之搜索引擎優(yōu)化
- 20為什么要注冊中文域名呢?
- 21網(wǎng)站圖片優(yōu)化技巧
- 22五招網(wǎng)站建設(shè)細(xì)節(jié)
- 23域名是做什么的?有什么作用?
- 24企業(yè)選購虛擬主機(jī)性能才是最終的王道!
- 25域名的基本類型、級別有哪些?
- 26成功的站長的秘訣
- 27網(wǎng)站更新對網(wǎng)站優(yōu)化優(yōu)化推廣的影響
- 28如何讓你的文章被百度秒收
- 29站內(nèi)網(wǎng)站優(yōu)化方法
- 30企業(yè)域名的商業(yè)作用有哪些呢?
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓