首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java字节码到机器码的转换

Java字节码到机器码的转换
EN

Stack Overflow用户
提问于 2018-10-24 08:14:25
回答 1查看 806关注 0票数 0

JVM何时会将字节码转换为机器码? 1.在类加载期间每个类只转换一次? 2.在创建类的每个对象时,示例来自Student类的Student对象? 3.还是在每次方法调用期间?

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

EN

回答 1

Stack Overflow用户

发布于 2018-10-24 09:04:24

“当它感觉到它的时候”。我不是故意轻率的,但是没有通用的答案。

JVM可以解释字节码,也可以将其编译为本机代码。机器代码运行得更快,但编译它需要时间和空间。因此,需要进行权衡,并且不需要以这样或那样的方式处理权衡。实际上,它可以从一个JVM到另一个,或者从一个版本到另一个版本。

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

我的猜测是,一种可能的机制是注意到相同的方法已经被执行了“一些次数”,因此将受益于被编译为机器码。也就是说,你的第三个答案可能是最接近的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52959428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档