首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JVM指令集CPU周期和字节大小

JVM指令集CPU周期和字节大小
EN

Stack Overflow用户
提问于 2009-09-09 00:25:15
回答 2查看 1.8K关注 0票数 0

Java Virtual Machine Instruction Set页面提供了有关助记符的信息,例如aaload、aastore...等。

然而,既没有提到这些助记符将占用的cpu周期,也没有关于这些助记符的字节大小或字大小的任何信息。

你知道在哪里可以找到这些信息吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-09 00:31:33

规范是JVM需要实现的,而不是如何实现的。不同的平台和供应商提供的不同JVM(如IBM和Sun )将使用不同的实现,因此您不能对字节大小和处理器周期做任何假设。如果您真的想找到更多信息,可以下载Open JDK源代码并查看它,但这只是一个实现,您不能假设其他实现将具有完全相同的性能特征。

票数 3
EN

Stack Overflow用户

发布于 2009-09-09 01:27:15

如前所述,您所寻找的信息并不存在,因为它不存在。除了还提到不同的JVM可以不同地实现指令(或指令的组合)之外,单个JVM也可以以不同的方式实现它。

对于指令的不同组合(根据指令与其他指令一起使用的方式,以不同的方式实现指令可能更有效率)和不同的执行场合都是如此。由于JVM始终控制程序的执行,因此它可以(并且确实)监视程序的行为,并决定重新优化经常运行的代码(或满足某些其他条件的代码)。例如,这可能导致在函数执行前1000次时,您的指令被翻译为特定的机器指令集,而在其余的执行过程中,指令被翻译为另一组机器指令。

这种高级的优化能力(以及其他)是为什么Java字节码的优化最好留给Java虚拟机,也是为什么在某些情况下,Java程序可以比等效的C或C++程序快得多(C和C++通常只进行静态优化,而Java是动态优化的)。

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

https://stackoverflow.com/questions/1397009

复制
相关文章

相似问题

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