標籤:java 最佳化
繼續進行代碼最佳化的總結.
7.迴圈最佳化
List alist =getList();
for(int i=0;i<alist.size();i++){ }
代碼會一直執行alist.size()
應修改為
for(int i=0,p=alist.size();i<p;i++){ }
8."消滅"不可視階段的對象
try{
Object obj=new Object();
}catch(Exception e)
{
obj=null; //在這裡加入這句代碼
}
9.少用new建立對象
當使用關鍵字new建立類的執行個體時,建構函式鏈中的所有建構函式都會被自動調用,但如果一個對象實現了Cloneable介面,我們可以調用它的clone()方法。
public static Credit getNewCredit(){
return new Credit();
}
修改為:
private static Credit BaseCredit = new Credit();
public static Credit getNewCredit(){
return (Credit) BaseCredit.clone();-
}
當new 建立對象不可避免時,盡量在使用時再建立該對象
NewObject obj=new NewObject();
if(i>0){
value=object.getValue();
}
修改為:
if(i>0){
NewObject obj=new NewObject();
value=object.getValue();
}
10.及時釋放不用的對象
例如當a不為空白時,
a=new Object();
修改為:
a=null;
a=new Object();
11.使用自身方法
當處理字串的時候,要儘可能多地使用諸如String.indexOf() , String.lastIndexOf()等對象自身帶有的方法,要比在一個Java迴圈中做同樣的事情快10~100倍
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
提高代碼效能效率總結(二)--Java