Jvm 不同编程语言中的字节码差异

Jvm 不同编程语言中的字节码差异,jvm,bytecode,jit,opcode,pyc,Jvm,Bytecode,Jit,Opcode,Pyc,我知道几种解释性编程语言​​(PHP、Python、Java、Smalltalk)使用字节码作为执行代码的中间步骤 不同语言的解释器生成的字节码形式是否有差异​, 不同机器的装配操作码之间的差异 此外,可以肯定的是,字节码只能在解释语言中使用,对吗?字节码是虚拟机执行指令的通用词,就像机器语言是真实处理器执行指令的通用术语一样。正如有许多不同的机器指令集一样,也有许多不同的字节码指令集。有些,如Java字节码,是平台的文档化部分。根据定义,所有Java虚拟机都执行完全相同的字节码。其他的只是一个

我知道几种解释性编程语言​​(PHP、Python、Java、Smalltalk)使用字节码作为执行代码的中间步骤

不同语言的解释器生成的字节码形式是否有差异​, 不同机器的装配操作码之间的差异


此外,可以肯定的是,字节码只能在解释语言中使用,对吗?

字节码是虚拟机执行指令的通用词,就像机器语言是真实处理器执行指令的通用术语一样。正如有许多不同的机器指令集一样,也有许多不同的字节码指令集。有些,如Java字节码,是平台的文档化部分。根据定义,所有Java虚拟机都执行完全相同的字节码。其他的只是一个实现细节,并且版本不同


回答你的最后一个问题:不,那是不对的。Java不是一种解释语言;它是及时编译的。C#类似。字节码可以是许多不同体系结构的一部分。

正如欧内斯特所提到的,它是来自不同语言的依赖于供应商的字节码实现。虽然已经有人试图标准化字节码。请向Microsoft咨询解决方案


值得一提的是,编译器成为不同字节码的粘合剂,为任何CPU指令集提供优化编译。

那么,实际答案是肯定的?Java字节码不同于Python字节码?这些流行语言之间的差异显著吗?是的,它们完全不同。即使有相似之处,也很少。CIL不只是一个特定于.NET的字节码吗?与Java的JIT字节码相比,它的标准化尝试是什么?是的,它是低级的.NET,也看看这个线程