【发布时间】:2010-12-31 20:08:06
【问题描述】:
Sun 的规范 JVM 实现对字节码进行了一些非常复杂的优化,以便在代码运行几次后获得接近本机的执行速度。
问题是,为什么不将此编译后的代码缓存到磁盘以供后续使用同一函数/类时使用?
就目前而言,每次执行程序时,JIT 编译器都会重新启动,而不是使用代码的预编译版本。当字节码本质上是被解释时,添加这个特性不会显着增加程序的初始运行时间吗?
【问题讨论】:
-
一个讨论这个问题的线程:javalobby.org/forums/thread.jspa?threadID=15812
-
但一个不太可能吸引明确答案的问题。
-
我不确定“显着”的提升,因为那样你就必须从磁盘加载 JITted 的东西,而不是 JIT 在内存中。它可以加快速度,但要视具体情况而定。
-
感谢大家的精彩回答!所有的答案都同样有效,所以我和社区一起去了这个......
-
@Nfff3 看看this answer
标签: java caching jvm compilation jit