Java 程序性能優化


Java程序中,性能問題的原因除了核心算法之外,很大一部分是有程序本身代碼導致,所以對程序細節的優化有事可以很好的提升程序的性能。 

1、  盡量制定類的final修飾符,因為final修飾的類是不可以派生的,這樣不僅可以防止其他類覆蓋這個類中的關鍵方法,而且如果指定該類為final時,改類中的所有方法都是final類型,Java編譯器會自動內聯(inline)所有的final方法。

2、  Switch   case 的效率要高於if else模式

3、  盡量使用局部變量,局部變量在棧中,操作比較快,需要初始化。其他變量在堆中創建,速度較慢。

4、  不要太多詳細JVM GC機制,對象使用完成之后,手動置為NULL

5、  在使用同步機制時,使用方法同步塊代替代碼塊同步。

6、  不要在循環語句中使用try/catch,應該將其放在循環外邊。應該慎用異常,異常對性能不利,拋出對象時首先會創建一個新的對象,收集跟蹤棧的調用信息。

7、  使用StringBuffer時,使用合適的容量值來初試話。StringBuffer在內部維護一個字符數組,缺省值為16個字符,當填充數據達到他的最大容量時,Stringbuffer會自動將自身容量增加到當前的2+2。只要StringBuffer到達它的最大容量,就需要創建一個新的字符數組,然后重新將舊字符和新字符都復制一遍(代價很大)。

8、  當需要復制大量數據時,使用   system.arraycopy()命令。

9、  乘法和除法使用移位來代替(左移是乘2)。

10、 盡量不要使用new關鍵字創建類的實例

因為用new 關鍵詞創建類的實例時,構造函數鏈中所有的構造函數都會被自動調用。但是如果一個對象實現了Cloneable接口,可以調用它的clone方法。Clone()方法不會調用任何類的構造函數。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com