Sun的规范JVM实现对字节码进行了一些非常复杂的优化,以在代码运行几次后获得接近本机的执行速度
问题是,为什么编译后的代码没有缓存到磁盘上,以便在后续使用相同的函数/类时使用
目前,每次执行程序时,JIT编译器都会重新启动,而不是使用预编译版本的代码。当字节码基本上被解释时,添加这个特性不会显著提高程序的初始运行时间吗
如果不使用@MYYN发布的链接的剪切粘贴,我怀疑这是因为JVM执行的优化不是静态的,而是基于数据模式和代码模式的动态优化。这些数据模式很可能会在应用程序的生命周期内发生变化,从而导致缓存的优化效果低于最佳效果
因此,您需要一种机制来确定保存的优化是否仍然是最优的,在这一点上,您不妨动态地重新优化