我想在調試模式下釋放Java應用程序,以便在客戶端發生隨機或難以重現的問題時更容易進行調試。在調試模式下運行JVM的副作用
但是,我想要弄清楚這樣做的潛在副作用嗎?從Java HotSpot文檔中,似乎有should be no performance penalty。
從鏈接
全速調試
雖然Java HotSpot VM現在使用 全速調試。在之前版本的虛擬機 中,調試時啓用了 ,程序僅執行使用 的解釋器。現在,即使具有編譯代碼,程序 也可使用HotSpot 技術的全部 性能優勢。改進的性能允許長期運行的 程序更容易調試。 它也允許全速測試 。一旦出現異常,調試器將以 對代碼源的完全可見性啓動。
這是準確的還是有隱藏的警告,內存佔用情況如何以及使用調試模式時是否還有其他隱藏的陷阱。
PS:我發現來自AMD的this article,這證實了我最初的懷疑,即來自oricale的原始文章沒有顯示完整的故事。
你在Java HotSpot網站上讀到了什麼,導致你得出結論:不應該有懲罰? – linuxuser27 2010-09-16 00:28:28
來自另一個鏈接「全速調試 Java HotSpot虛擬機現在使用全速調試,在以前版本的虛擬機中,啓用調試時,程序僅使用解釋器執行,現在,HotSpot技術的全部性能優勢即使在編譯代碼的情況下,程序也可以使用它,改進後的性能使得長時間運行的程序可以更容易地進行調試,並且可以讓測試全速進行,一旦出現異常,調試器就會啓動並完全可見代碼源。 「 – hhafez 2010-09-16 00:33:20
AMD文章消失了。 :( – 2017-12-06 09:28:41