2016-05-02 32 views
1

(1)我寫了一個關於這個問題的問題,但我認爲我沒有正確說明問題,所以我刪除它。爲了說明問題,在我的GUI應用程序中,我注意到當我要測量使用System.currentTimeMillis();的方法所花費的運行時間時,與通過終端或控制檯運行jar文件的標準方式相比,時間變得非常短且不切實際Java Swing在這裏產生一些效果? (2)因爲我想保留我的GUI並解決這個問題,所以我讀了關於禁用JIT的可能性,我怎麼把它寫成我的程序中的一段代碼,所以當它運行時,JIT被禁用僅在我的應用程序運行時。GUI應用程序和測量運行時間

謝謝。

回答

2

使用-Xint選項運行您的程序,該選項「以僅解釋模式運行應用程序。禁止編譯爲本地代碼,並且解釋器執行所有字節代碼。JIT提供的性能優勢(JIT )編譯器不存在於此模式下。「

作爲具體示例,此AnimationTest顯示使用System.nanoTime()paintComponent()中花費的平均時間。隨着-Xint選項,時間仍然相當穩定:

java -Xint -cp build/classes overflow.AnimationTest 

沒有選擇,即:編譯爲本地代碼,很容易通過儘可能多地看到油漆時間世俗下降,有時一個訂單大小:

java -cp build/classes overflow.AnimationTest 
+0

謝謝你的迴應。我怎樣才能做到這一點作爲我的類構造函數中的代碼,因爲我的應用程序將由沒有經驗的人員運行。 – Jacki

+0

您可以在通過[tag:java-web-start]部署時指定該選項,但我不會。 – trashgod

+0

非常感謝你....我真的很感激 – Jacki