gpt4 book ai didi

Java字节码到机器码的转换

转载 作者:行者123 更新时间:2023-12-02 01:51:16 25 4
gpt4 key购买 nike

JVM什么时候会将字节码转换为机器码?1. 类加载时每个类只能调用一次?2. 在创建类的每个对象时,例如 Student 类中的 Student 对象?3. 或者在每个方法调用期间?

在方法调用期间,这将如何与方法堆栈同步。

最佳答案

“当有感觉的时候”。我无意轻浮,但没有通用的答案。

JVM 可以解释字节码,也可以将其编译为 native 机器代码。机器代码运行速度更快,但编译它需要时间和空间。因此,需要进行权衡,并且没有要求以某种方式处理权衡。事实上,它可能因 JVM 的不同而不同,或者因版本的不同而异。

该主题称为“即时”编译(JIT),并且会有不同的实现。请查阅您的 JVM 文档。

我的猜测是,一种可能的机制是注意到相同的方法已经执行了“一定次数”,因此会从编译为机器代码中受益。也就是说,您的#3 答案可能是最接近的。

关于Java字节码到机器码的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52959428/

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