成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓
當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 四川OA系統(tǒng) > 成都OA系統(tǒng) > 成都網(wǎng)站建設(shè)公司
Java語言常用性能優(yōu)化技巧
申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
代碼優(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è)對(duì)象實(shí)現(xiàn)了Cloneable接口,我們可以調(diào)用它的clone()方法。clone()方法不會(huì)調(diào)用任何類構(gòu)造函數(shù)。 在使用設(shè)計(jì)模式(Design Pattern)的場(chǎng)合,如果用Factory模式創(chuàng)建對(duì)象,則改用clone()方法創(chuàng)建新的對(duì)象實(shí)例非常簡(jiǎn)單。
2.慎用異常。異常對(duì)性能不利。拋出異常首先要?jiǎng)?chuàng)建一個(gè)新的對(duì)象。Throwable接口的構(gòu)造函數(shù)調(diào)用名為fillInStackTrace()的本地(Native)方法,fillInStackTrace()方法檢查堆棧,收集調(diào)用跟蹤信息。只要有異常被拋出,VM就必須調(diào)整調(diào)用堆棧,因?yàn)樵谔幚磉^程中創(chuàng)建了一個(gè)新的對(duì)象。異常只能用于錯(cuò)誤處理,不應(yīng)該用來控制程序流程。

3.不要重復(fù)初始化變量。默認(rèn)情況下,調(diào)用類的構(gòu)造函數(shù)時(shí), Java會(huì)把變量初始化成確定的值:所有的對(duì)象被設(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è)對(duì)象時(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企業(yè)項(xiàng)目管理系統(tǒng)java開發(fā)優(yōu)勢(shì)與實(shí)戰(zhàn)案例
- 2項(xiàng)目管理系統(tǒng)Java開源:高效團(tuán)隊(duì)協(xié)作與任務(wù)跟蹤解決方案標(biāo)題
- 3庫(kù)存管理系統(tǒng)webJava助力企業(yè)高效庫(kù)存控制與成本降低
- 4庫(kù)存管理系統(tǒng)javaweb代碼含詳細(xì)注釋與高效優(yōu)化方案
- 5基于java的藥品采購(gòu)管理系統(tǒng):提升效率降低成本秘訣大
- 6基于JavaEE采購(gòu)管理系統(tǒng)的高效采購(gòu)流程與智能決策方案
- 7圖書采購(gòu)管理系統(tǒng)java代碼:實(shí)現(xiàn)高效管理的實(shí)用代碼秘籍
- 8商品采購(gòu)管理系統(tǒng)java程序:高效開發(fā)與實(shí)用功能秘籍
- 9醫(yī)藥進(jìn)銷存管理系統(tǒng)Javaee:高效精準(zhǔn)管理醫(yī)藥庫(kù)存秘訣

