北大青鳥(niǎo):如何提高Java程序的性能

在Java軟件開(kāi)發(fā)過(guò)程中,會(huì)有影響性能的一些因素和特點(diǎn)。本文中,北京北大青鳥(niǎo)學(xué)校學(xué)術(shù)部老師講解一些經(jīng)常采用的方法和技巧,用來(lái)提高Java程序的性能。

1.盡量使用final修飾符。
帶有final修飾符的類(lèi)是不可派生的。在Java核心API中,有許多應(yīng)用final的例子,例如java.lang.String。為String類(lèi)指定final防止了使用者覆蓋length()方法。另外,如果一個(gè)類(lèi)是final的,則該類(lèi)所有方法都是final的。java編譯器會(huì)尋找機(jī)會(huì)內(nèi)聯(lián)(inline)所有的final方法(這和具體的編譯器實(shí)現(xiàn)有關(guān))。此舉能夠使性能平均提高50%。

2.盡量重用對(duì)象。
特別是String對(duì)象的使用中,出現(xiàn)字符串連接情況時(shí)應(yīng)使用StringBuffer代替,由于系統(tǒng)不僅要花時(shí)間生成對(duì)象,以后可能還需要花時(shí)間對(duì)這些對(duì)象進(jìn)行垃圾回收和處理。因此生成過(guò)多的對(duì)象將會(huì)給程序的性能帶來(lái)很大的影響。

3.盡量使用局部變量。
調(diào)用方法時(shí)傳遞的參數(shù)以及在調(diào)用中創(chuàng)建的臨時(shí)變量都保存在棧(Stack)中,速度較快。其他變量,如靜態(tài)變量,實(shí)例變量等,都在堆(Heap)中創(chuàng)建,速度較慢。

北京北大青鳥(niǎo)學(xué)校提供

北大青鳥(niǎo)網(wǎng)上報(bào)名
北大青鳥(niǎo)招生簡(jiǎn)章