2014-09-25 72 views
0

假設一個系統運行啓用了JIT的標準JVM(HotSpot),是否以任何方式將jitted彙編代碼緩存在相同程序的運行之間?我無法找到證明情況如此的信息,但相反,這似乎是一種浪費。JVM高速緩存彙編代碼?

回答

1

這已經嘗試過了,我記得至少有一些Sun/Oracle版本的Java支持這個。但是,我也記得有安全和可靠性方面的問題。

(我回顧這個:http://docs.oracle.com/cd/B28359_01/java.111/b31225/chnine.htm#BABDCIBH也許一些實驗的JVM也。)

此外,在熱點JIT編譯的好處之一是,該代碼可以爲一個特定的使用模式進行優化特定的應用程序運行。如果緩存JIT編譯的代碼,則會失去這種潛在的好處。

代碼緩存使應用程序啓動/加熱更快,但是在應用程序實例運行很長時間的情況下,啓動速度快於穩定狀態性能更不重要。