【发布时间】:2013-11-23 17:31:33
【问题描述】:
我知道几种解释型编程语言(PHP、Python、Java、Smalltalk)都在使用字节码作为执行代码的中间步骤。
不同语言的解释器生成的字节码形式有区别吗,不同机器的汇编操作码有区别吗?
另外,为了确定,字节码只能用于解释语言,对吧?
【问题讨论】:
标签: jvm bytecode jit opcode pyc
我知道几种解释型编程语言(PHP、Python、Java、Smalltalk)都在使用字节码作为执行代码的中间步骤。
不同语言的解释器生成的字节码形式有区别吗,不同机器的汇编操作码有区别吗?
另外,为了确定,字节码只能用于解释语言,对吧?
【问题讨论】:
标签: jvm bytecode jit opcode pyc
字节码是虚拟机执行指令的通用词,就像机器语言是真实处理器执行指令的通用术语一样。正如有许多不同的机器指令集一样,也有许多不同的字节码指令集。有些,如 Java 字节码,是平台的文档化部分。根据定义,所有 Java 虚拟机都执行完全相同的字节码。其他只是实现细节,因版本而异。
回答你的最后一个问题:不,这是不正确的。 Java 不是一种解释型语言。它是即时编译的。 C# 类似。字节码可以是许多不同架构的一部分。
【讨论】:
【讨论】: