的時間我有這樣的代碼:爪哇 - 執行
public static void main(String[] args) {
long f = System.nanoTime();
int a = 10 + 10;
long s =System.nanoTime();
System.out.println(s - f);
long g = System.nanoTime();
int b = 10 + 10 + 10 + 10 + 10 + 10 + 10 + 10 + 10 + 10 + 10 + 10;
long h =System.nanoTime();
System.out.println(h - g);
}
有了這個輸出/秒:
測試1:
427
300
測試2:
533
300
測試3:
431
398
根據我的測試場景,爲什麼行int b = 10 + 10 + 10 + 10 + 10 + 10 + 10 + 10 + 10 + 10 + 10 + 10;
執行速度比int a = 10 + 10;
更快?
在主方法中的_one_運行結束這是太不確定。至少在一個循環內運行幾百萬次。 – NilsH
Micheal 請在下面檢查URL。 Java中Integer類型的到期池行爲會導致後者運行得更快,因爲整數b執行的時間10已經在池中。希望這可以幫助。 http://stackoverflow.com/questions/13098143/java-integer-constant-pool –
我每次運行這段代碼都會得到不同的結果,從0到600,有時其中一個是0。這些操作太快,您無法一次測試。 – Djon