提高Java效能的幾個高效用法

2021-04-26 15:45:44 字數 1056 閱讀 7298

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...