Java程式效能優化總結 資料型別篇

2021-04-13 22:08:19 字數 1634 閱讀 2276

將乙個boolean

值與乙個

true

比較是乙個恒等操作

(直接返回該

boolean

變數的值

). 移走對於

boolean

的不必要操作至少會帶來

2個好處:

1)**執行的更快

(生成的位元組碼少了

5個位元組);

2)**也會更加乾淨

。例子:

public class ueq

}更正:

class ueq_fixed}

當處理字串的相加時,常見的寫法是:

..

string str1 = "hello";

string str2 = "welcome to world";

string str3 = str1 + ", " + str2 +"!";

system.out.println(str3);

很多人都知道,這樣的**效率是很低的,因為

string

是用來儲存字串常量的,如果要執行「+

」的操作,系統會生成一些臨時的物件,並對這些物件進行管理,造成不必要的開銷。

如果字串有連線的操作,替代的做法是用

stringbuffer

類的方法,它的預設建構函式和

的實現是:

public stringbuffer()

int len =str.length();

int newcount = count + len;

if(newcount

>value.length)

expandcapacity(newcount);

// 擴充容量

str.getchars(0, len, value, count);

count = newcount;

return this;

}

當字串的大小超過預設

16時,**實現了容量的擴充,為了避免物件的重新擴充套件其容量,更好的寫法為:

stringbuffer buffer = new stringbuffer(30);

// 分配指定的大小。

字串的分析在很多應用中都是常見的。使用

indexof()

和substring()

來分析字串容易導致

stringindexoutofbound***ception

。而使用

stringtokenizer

類來分析字串則會容易一些,效率也會高一些。

例子:public class ust }}

例子:public class str

}更正:

將乙個字元的字串替換成

' 'public class str

}用乙個字元作為引數呼叫

startswith()

也會工作的很好,但從效能角度上來看,呼叫用

string api

無疑是錯誤的

!例子:

public class pcts

} }

更正將'startswith()' 替換成'charat()'.

public class pcts }}

Java程式效能優化 1

1.優化概述 設計調優是對系統在巨集觀層面上 質 的優化。優化,jvm優化都是對系統微層面上 量 的優化。設計優化的乙個顯著特點是,它可以規避某乙個元件的效能問題,而非改良該元件的實現。比如 系統在元件a需要等待某事件e才能觸發乙個行為。如果元件a通過迴圈監控不斷檢測事件e是否發生,其監控行為必須會...

Java程式效能優化20

確定 stringbuffer的容量 stringbuffer的構造器會建立乙個預設大小 通常是16 的字元陣列。在使用中,如果超出這個大小,就會重新分配記憶體,建立乙個更大的陣列,並將原先的陣列複製過來,再丟棄舊的陣列。在大多數情況下,你可以在建立stringbuffer的時候指定大小,這樣就避免...

優化程式效能

編寫高效程式需要兩個活動 第一,我們必須選擇一組最好的演算法和資料結構 第二,我們必須編寫出編譯器能夠有效優化以轉換成高效可執行 的源 這裡,我們主要講述後者。首先,我們討論一下為什麼要編寫高效程式。不難想象,如果本來要用 天執行完的程式,經過優化只需要 天就可執行完,這是一件多麼令人振奮的 事啊。...