魔方格魔方格合作機(jī)構(gòu)> 南昌培訓(xùn)學(xué)校>江西南昌達(dá)內(nèi)IT培訓(xùn)
江西南昌達(dá)內(nèi)IT培訓(xùn)
全國(guó)統(tǒng)一學(xué)習(xí)專(zhuān)線 8:30-21:00
位置:魔方格 > 計(jì)算機(jī)>Java開(kāi)發(fā)> 怎樣提高Java代碼效率?  正文

怎樣提高Java代碼效率?

發(fā)布時(shí)間:2022-03-12 14:30:09來(lái)源:魔方格

能提高Java代碼效率的技巧有這些:1.盡量指定類(lèi)、方法的final修飾符;2.盡量重用對(duì)象;3.盡可能使用局部變量;4.及時(shí)關(guān)閉流;5.盡量減少對(duì)變量的重復(fù)計(jì)算。

1、盡量指定類(lèi)、方法的final修飾符

帶有final修飾符的類(lèi)是不可派生的。在Java核心API中,有許多應(yīng)用final的例子,例如java.lang.String,整個(gè)類(lèi)都是final的。為類(lèi)指定final修飾符可以讓類(lèi)不可以被繼承,為方法指定final修飾符可以讓方法不可以被重寫(xiě)。

如果指定了一個(gè)類(lèi)為final,則該類(lèi)所有的方法都是final的。Java編譯器會(huì)尋找機(jī)會(huì)內(nèi)聯(lián)所有的final方法,內(nèi)聯(lián)對(duì)于提升Java運(yùn)行效率作用重大,具體參見(jiàn)Java運(yùn)行期優(yōu)化。 此舉能夠使性能平均提高50% 。

2、盡量重用對(duì)象

特別是String對(duì)象的使用,出現(xiàn)字符串連接時(shí)應(yīng)該使用StringBuilder/StringBuffer代替。

由于Java虛擬機(jī)不僅要花時(shí)間生成對(duì)象,以后可能還需要花時(shí)間對(duì)這些對(duì)象進(jìn)行垃圾回收和處理,因此,生成過(guò)多的對(duì)象將會(huì)給程序的性能帶來(lái)很大的影響。

3、盡可能使用局部變量

調(diào)用方法時(shí)傳遞的參數(shù)以及在調(diào)用中創(chuàng)建的臨時(shí)變量都保存在棧中速度較快,其他變量,如靜態(tài)變量、實(shí)例變量等,都在堆中創(chuàng)建,速度較慢。另外,棧中創(chuàng)建的變量,隨著方法的運(yùn)行結(jié)束,這些內(nèi)容就沒(méi)了,不需要額外的垃圾回收。

4、及時(shí)關(guān)閉流

Java編程過(guò)程中,進(jìn)行數(shù)據(jù)庫(kù)連接、I/O流操作時(shí)務(wù)必小心,在使用完畢后,及時(shí)關(guān)閉以釋放資源。因?yàn)閷?duì)這些大對(duì)象的操作會(huì)造成系統(tǒng)大的開(kāi)銷(xiāo),稍有不慎,將會(huì)導(dǎo)致嚴(yán)重的后果。

5、盡量減少對(duì)變量的重復(fù)計(jì)算

明確一個(gè)概念,對(duì)方法的調(diào)用,即使方法中只有一句語(yǔ)句,也是有消耗的,包括創(chuàng)建棧幀、調(diào)用方法時(shí)保護(hù)現(xiàn)場(chǎng)、調(diào)用方法完畢時(shí)恢復(fù)現(xiàn)場(chǎng)等。

相關(guān)內(nèi)容: Java Java代碼 Java代碼效率

相關(guān)文章
最新文章
相關(guān)熱詞