gpt4 book ai didi

java - 对于 JIT 编译器,什么是第一位的?翻译成机器码还是解释字节码?

转载 作者:行者123 更新时间:2023-12-02 07:27:12 27 4
gpt4 key购买 nike

据我所知,JIT 将字节码编译为 native 机器代码,可以运行得更快。所以根据我的信念,我的问题的答案应该是 1.翻译成机器代码2.解释字节码。解释代码意味着执行代码。但我发现答案相反!谁能解释一下...提前致谢

最佳答案

一旦你有了字节码序列的机器代码(正如你所注意到的,它应该比解释更快),继续解释该字节码序列(*)是没有意义的。当编译在后台运行或尚未启动时进行解释更有用(无论出于何种原因 - 常见情况是:代码执行频率不够高,不值得编译)。

(*) 实际上,一些 JIT 编译器确实对机器代码进行了专门化,以至于它对于某些代码路径或输入无效,并且在发生这些情况时必须回退到解释/重新编译。甚至其他 JIT 编译器有时会重新编译代码,这可能会也可能不会导致暂时返回到解释。但总的来说,如果代码适用并且速度更快(它总是应该如此),那么没有必要不使用它。

关于java - 对于 JIT 编译器,什么是第一位的?翻译成机器码还是解释字节码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13385612/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com