use*_*112 8 java jit jvm jvm-hotspot
我遇到了一些关于JVM/JIT活动的参考文献,其中在编译字节码和解释字节码之间似乎有所区别.特定注释声明字节码被解释为前10000次运行并在此后编译.
"编译"和"解释"字节码有什么区别?
Lou*_*man 15
解释字节代码基本上逐行读取字节码,不做任何优化或任何事情,并解析它并实时执行它.出于多种原因,这显然是低效的,包括Java字节码不能被快速解释的问题.
编译方法时,JIT加载整个方法并生成本机代码以直接在CPU上运行,而不是逐行读取和解释字节代码.在编译该方法一次之后,每次调用该方法时都会直接使用生成的本机代码.这在天文学上更快,但在编译方法时会产生一些开销; 除此之外,JVM只负责编译经常调用的方法,以最大限度地减少开销,同时最大限度地提高经常被调用的"紧密内循环"代码的性能.
| 归档时间: |
|
| 查看次数: |
4303 次 |
| 最近记录: |