我以为我一直都明白为什么Java是可移植的,直到我拿走计算机组织。JVM如何考虑计算机组织?
这是我的一个C程序的解释从开始到结束:
C程序 - >编译器 - >总成 - >机器代码 - > ISA - >微架构(如何计算机解释ISA) - >逻辑门 - >电路 - >设备
编译器必须知道ISA。另外,汇编和机器代码将根据ISA而有所不同。
Java是这样: (内部JVM):Java程序 - >编译器 - >字节码
字节码是ISA对于JVM。
所以,我猜JVM也有它自己的微架构来解释它的 ISA(字节码)。
这是准确的吗?
所以整个周期将是: Java程序(内部JVM) - >字节码(ISA) - > JVM微架构 - >主机硬件
此外,如果微架构的实现处理器,JVM是否需要使用其中一台主机的处理器?
的
访问很好的教程,但不汇编和机器语言每基于ISA机有什么不同? – jinan
@jinan是的,JVM也是如此。 JVM针对不同的硬件/操作系统有不同的实现,并且每种实现都转换为平台的适当本地语言。 – manouti