gpt4 book ai didi

java - 字节码是否被视为 JVM 的指令集?

转载 作者:搜寻专家 更新时间:2023-11-01 04:04:21 25 4
gpt4 key购买 nike

我正在阅读 wiki 中的指令集我看到了这一段:

Some virtual machines that support bytecode as their ISA such as Smalltalk, the Java virtual machine, and Microsoft's Common Language Runtime, implement this by translatin the bytecode for commonly used code paths into native machine code. In addition, these virtual machines execute less frequently used code paths by interpretation (see: Just-in-time compilation). Transmeta implemented the x86 instruction set atop VLIW processors in this fashion.

这到底是什么意思? bytecodesISA for JVMJVM反过来支持ISA处理器。

最佳答案

没错,就是你猜的那样。 JVM/JRE 使用 Java 字节码作为其指令集,每个 JVM 都需要在本地/本地硬件(以及本地指令集)上编译并可运行。这张来自维基百科的图表很好地说明了这一点,我认为:

enter image description here

JRE/JVM 需要针对其运行的特定硬件进行编译,尽管 JVM 本身的 Java 字节码定义和解释保持不变。正如您所指出的,Java 字节码可以看作是 Java 源代码和本地机器/二进制代码之间的一种抽象层。它确实允许在典型的 Java 程序员和需要了解任何特定于机器的东西之间分离关注点,因为几乎所有这些都由 JVM/JRE 处理。

关于java - 字节码是否被视为 JVM 的指令集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21195340/

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