Questions tagged «bytecode»

4
为什么VM需要是“堆栈计算机”或“注册计算机”等?
(这是一个极其新手的问题)。 我一直在研究有关虚拟机的知识。 事实证明,其中许多设计与物理或理论计算机非常相似。 例如,我读到JVM是一个“堆栈机”。这意味着(如果我错了,请纠正我)是它将所有的“临时内存”存储在堆栈中,并对所有操作码在该堆栈上进行操作。 例如,源代码2 + 3将被转换为类似于以下内容的字节码: push 2 push 3 add 我的问题是这样的: JVM可能是使用C / C ++等编写的。如果是这样,JVM为什么不执行以下C代码:2 + 3..?我的意思是,为什么它需要堆栈,或在其他虚拟机“寄存器”中(例如在物理计算机中)? 底层的物理CPU负责所有这些工作。VM编写者为什么不使用VM编程所使用的语言简单地使用“通常”指令执行解释后的字节码? 当实际的硬件已经为我们做到了时,为什么虚拟机需要仿真硬件? 同样,非常新手的问题。谢谢你的帮助

8
将源代码转换为Java字节码有什么用?
如果对于不同的体系结构需要不同的JVM,我无法弄清楚引入这一概念的逻辑是什么。在其他语言中,我们需要用于不同机器的不同编译器,但是在Java中,我们需要不同的JVM,那么引入JVM概念或此额外步骤的逻辑是什么?
37 java  jvm  bytecode 


3
为什么Python同时需要编译器和解释器?
我可以理解Java需要编译器和解释器的事实。它将源代码编译为字节码,然后虚拟机(在Windows,Linux,Android等上)将字节码转换为当前体系结构的机器码。 但是,为什么Python同时需要编译器和解释器?由于Python不是平台独立的,为什么不只使用解释?据我所知,未经修改,您将无法在任何Windows或Linux计算机上执行Python程序(编译为字节码)。还是我错了?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.