2014-09-25 58 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编译的代码,则会失去这种潜在的好处。

代码缓存使应用程序启动/加热更快,但是在应用程序实例运行很长时间的情况下,启动速度快于稳定状态性能更不重要。