我指的是Oracle的以下文档:
http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/geninfo/diagnos/underst_jit.html#wp1080014
在"1.JRockit JVM运行JIT编译"一节中提到,JIT JVM具有更多的启动时间和更少的执行时间,反之亦然,对于没有JIT的JVM.
我很困惑,因为据我所知,JIT根据程序的执行编译代码,因此编译速度很快.并且代码将被优化,因此执行时间也将很快.
他们想用这一点表达什么?我不是很了解它.
基本上他们说JIT编译需要时间.HotSpot实际上编译了两次代码 - 首先是未优化的,然后是经常使用的部分的优化.
因此,当您的程序启动时,根据VM类型,它首先以解释模式运行字节码或等待它编译并切换到编译版本,然后如果频繁使用代码,则再次使用更多优化进行编译.这一切都需要资源和时间,因此启动速度较慢,但是当程序预热时,它会快速运行.
在解释模式下,如果没有JIT,VM就会立即开始解释代码,因此启动速度更快,但性能更差.
| 归档时间: |
|
| 查看次数: |
955 次 |
| 最近记录: |