1.在重要的迴圈裡,消除迴圈終止判斷時的方法呼叫
view plaincopy to clipboardprint?
for(int i=0; i=x/scalea*scaleb;
}for(int i=0;terminal=x.length;i=x/scalea*scaleb;}改為
view plaincopy to clipboardprint?
double scale = scaleb/scalea;
for(int i=0; terminal=x.length; i=x*scale;
}2.字串
■ 消除字串連線
■ 建立長字串時,總是使用stringbuffter代替string
■ 預先分配stringbuffer空間
stringbuffer sb = new stringbuffer(5000);
3.基本資料型別
■ 在重要的迴圈裡使用基本資料型別(int型資料通常比long/double型資料更快)
■ 基本資料型別(boolean,integer,etc)的包裝類主要用在當傳遞的方法引數必須是乙個物件的引用時(而不是乙個基本資料型別)
■ 對所有的常量代數表示式使用static final修飾符
一 使常量更容易引用(編譯器預先計算常量表示式)
4.異常
■ 異常只用於單個真正的錯誤條件
一 丟擲乙個異常和執行乙個catch**塊花費是很高的(主要由於當建立乙個異常時要獲得執行緒棧的乙個快照)
一 只當條件真的異常時才丟擲乙個異常
■ 使編譯器和執行時最優化,將幾個方法呼叫放在乙個try/catch塊中,而不是為每個方法呼叫實現幾個try/catch塊
5.基準
■ 注意,所有這些技巧會因不同的平台和虛擬機器而不同
一 例如:在有些servlet容器內,通過乙個outputstream作為位元組輸出會更快
一 在其它的容器內,通過乙個printwriter輸出字元會更快
■ 這些技巧描述的是最可移植的建議
■ 你可能需要執行一些基準來判斷在你的平台上怎麼樣是最快的
提高Java效能的幾個高效用法
1.在重要的迴圈裡,消除迴圈終止判斷時的方法呼叫。for int i 0 i替換為 for int i 0 n collection.size i2.通常,把與迴圈index不相關的移到迴圈的外面 for int i 0 terminal x.length i改為 double scale scal...
Java 中提高效能的幾個技巧
1.避免建立不必要的物件 2.盡量少用全域性變數,改用區域性變數 3.如果方法不需要使用成員變數,可以把方法宣告為static,效能快20 左右 4.避免使用getter setter訪問成員變數,可以把成員變數宣告為public,直接訪問 5.static的變數如果不需要修改,應使用static ...
Insert語句的幾個提高效率的特殊用法
我們做insert操作的,經常要判斷insert的條件是否滿足。一般的做法,都會先執行一條判斷語句,然後再執行insert語句,下面的方法可以幫助你節省第一條判斷語句,把這兩者結合到一起完成。測試表 create table ccc id int primary key,name varchar 1...