4
我已經聽說了很多關於JIT編譯如何使代碼在運行時比預編譯的代碼更快運行的問題。但是需要多長時間才能完全優化您的應用程序?Java的JIT編譯器工作有多快?
爲了利益的緣故,我會給你舉個例子。我有一些方法,我們稱之爲mySlowMethod()
。它執行一些矩陣計算,例如每秒幾百次旋轉,乘法等。我測量每次通話的時間,得到了這些結果:
long time = System.nanoTime();
mySlowMethod();
System.out.println(System.nanoTime()-time);
//first call
1577187 (1.6 ms)
//next 2 seconds
~60000 (0.06 ms)
//later
less than 10000 (0.01 ms)