性能優化實現方式(單純考慮代碼層面):java
1.減少代碼體積數據庫
2.提升運行效率數組
如何作:安全
1.儘可能指定類.方法的final修飾符性能優化
帶有final修飾的類是不可派生的,該類全部的方法都是final的,java編譯器會尋找機會內聯全部的final方法,有助於提升運行效率.性能
2.儘可能複用對象優化
對象的建立和維護都會花費java虛擬機的精力,特別是String對象的使用,出現的字符串鏈接要使用StringBuilder/StringBuffer來替代+號,所以,生成過多的對象將會給虛擬機帶來沒必要要的負擔;ui
3.及時關閉流線程
使用I/O流對數據進行操做是會對系統形成很是大的負擔,用完要及時close;指針
4.不要在循環語句中進行復雜的處理,以及一些異常處理,應該把這些提取到循環外層
例如try...catch...應該放在外層
5.循環內不要進行對象的頻繁建立,除非不得已的狀況下;
6.儘可能使用HashMap、ArrayList、StringBuilder,除非對線程安全有需求,不推薦使用HashTable、Vector、StringBuffer後三者由於作了同步機制對性能有較高的要求;
7.清除不須要的會話;
8.將常量聲明爲static final,而且用大寫來命名
9.不建立一些不使用的對象,不導入一些不使用的包
10.程序運行過程當中避免使用反射,能夠考慮在項目啓動的時候經過反射建立對象而且加載到內存中
發射是java很是強大的一個功能,可是功能強大的同時也意味着效率不高,尤爲是Method的invoke方法
11.使用數據庫鏈接池和線程池
這樣前者能夠避免頻繁的打開和關閉流,後者能夠避免頻繁的建立和銷燬線程;
12.使用帶緩衝的流進行I/O操做
13.public修飾的方法中形參最對不要超過3個
形參過多會致使方法的容錯率下降,若是有不少方法能夠用實體類包裝傳遞;
14.在使用equals的時候把常量放在前面
這樣能夠避免空指針異常
15.不要對數組使用toString()方法
由於對數組使用只會打印出一串對象地址,並且有可能由於數據引用is爲空而致使空指針異常,不過能夠對集合使用toString()方法,由於集合的父類AbstractCollections重寫了toString()方法;
16.不要對超出數據範圍的基本數據類型作向下的強制類型轉換,會致使精度損失
17.對基本數據類型轉換爲字符串最快的方式是toString(),其次是String.valueOf(數據),再次是+"" 最慢
18.對資源的關閉建議分開操做
例如
try{
stream.close();
fileInPutStream.close();
}catch(Exception e){
.....
}
建議修改成
try{stream.close}catch(Exception e){....}
try{fileInPutStream.close()}catch(Exception e){....}
第一種寫法,假如stream流出了問題,拋了異常,那麼fileInPutStream就沒法關閉,這樣代碼一多,就有可能引發資源句柄泄露.
第二種寫法雖然麻煩可是不管如何都會關閉,更加安全,固然也可使用finall來關閉.