無論學(xué)習(xí)什么都是需要講究技巧的,學(xué)習(xí)Java語言也是如此。對(duì)于新手來說,Java如何提高代碼效率呢?可以從指定類和方法的final修飾符、重用對(duì)象、使用局部變量、及時(shí)關(guān)閉流、減少變量的重復(fù)計(jì)算等這幾個(gè)方面入手。
1、盡可能指定類和方法的final修飾符
具有 final 修飾符的類是不可派生的。在Java核心API中,有很多final的應(yīng)用例子,比如java.lang.String,整個(gè)類都是final的。為類指定 final 修飾符使該類不可繼承,為方法指定 final 修飾符使該方法不可覆蓋。
如果一個(gè)類被指定為final,則該類的所有方法都是final。 Java 編譯器將尋找內(nèi)聯(lián)所有最終方法的機(jī)會(huì)。內(nèi)聯(lián)在提高 Java 的效率方面起著重要作用。有關(guān)詳細(xì)信息,請(qǐng)參閱 Java 運(yùn)行時(shí)優(yōu)化。這可以將性能平均提高 50%。
2、盡可能重用對(duì)象
尤其是對(duì)于String對(duì)象的使用,在發(fā)生字符串連接時(shí)應(yīng)該使用StringBuilder/StringBuffer。
由于Java虛擬機(jī)不僅需要時(shí)間來生成對(duì)象,將來垃圾收集和處理這些對(duì)象也可能需要時(shí)間。因此,生成過多的對(duì)象會(huì)對(duì)程序的性能產(chǎn)生很大的影響。
3、盡可能使用局部變量
調(diào)用方法時(shí)傳遞的參數(shù)和調(diào)用過程中創(chuàng)建的臨時(shí)變量更快的入棧。其他變量,如靜態(tài)變量、實(shí)例變量等,都是在堆中創(chuàng)建的,比較慢。另外,棧中創(chuàng)建的變量隨著方法結(jié)束就消失了,不需要額外的垃圾回收。
4、及時(shí)關(guān)閉流
在Java編程過程中,進(jìn)行數(shù)據(jù)庫(kù)連接和I/O流操作時(shí)一定要小心。使用后及時(shí)關(guān)閉釋放資源。因?yàn)檫@些大對(duì)象的操作會(huì)給系統(tǒng)造成很大的開銷,稍有不慎就會(huì)導(dǎo)致嚴(yán)重的后果。
5、盡量減少變量的重復(fù)計(jì)算
澄清一個(gè)概念,方法的調(diào)用,即使方法中只有一條語句,也是消耗的,包括創(chuàng)建棧幀,調(diào)用方法時(shí)保護(hù)場(chǎng)景,方法時(shí)恢復(fù)場(chǎng)景被調(diào)用。
上述內(nèi)容從五個(gè)方面教大家Java如何提高代碼效率,希望以上的5個(gè)技巧能夠幫助大家提高好代碼效率。更多關(guān)于“Java培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專業(yè),有針對(duì)零基礎(chǔ)的就業(yè)班,有針對(duì)想提升技術(shù)的好程序員班,高品質(zhì)課程助力你實(shí)現(xiàn)java程序員夢(mèng)想。