在过去,我一直使用c++作为编程语言。我知道用c++写的代码要经过一个编译过程,直到它成为目标代码“机器代码”。
我想知道Java在这方面是如何工作的。用户编写的Java代码是如何被计算机运行的?
在过去,我一直使用c++作为编程语言。我知道用c++写的代码要经过一个编译过程,直到它成为目标代码“机器代码”。
我想知道Java在这方面是如何工作的。用户编写的Java代码是如何被计算机运行的?
当前回答
Java是一种字节编译语言,目标是一个叫做Java虚拟机的平台,它是基于堆栈的,在许多平台上都有一些非常快速的实现。
其他回答
Java是一种编译的编程语言,但它不是直接编译为可执行的机器代码,而是编译为一种称为JVM字节代码的中间二进制形式。然后对字节码进行编译和/或解释以运行程序。
Java被编译成字节码,然后进入Java VM,由其解释。
Java是一种字节编译语言,目标是一个叫做Java虚拟机的平台,它是基于堆栈的,在许多平台上都有一些非常快速的实现。
术语“解释语言”或“编译语言”没有意义,因为任何编程语言都可以解释和/或编译。
对于Java的现有实现,大多数都涉及到字节码的编译步骤,因此它们涉及到编译。运行时还可以动态加载字节码,因此总是需要某种形式的字节码解释器。 该解释器可能会也可能不会在内部使用对本机代码的编译。
如今,部分即时编译被用于许多曾经被认为是“解释型”的语言,例如JavaScript。
两者都有。首先,java编译(有些人更喜欢说“翻译”)字节码,然后根据JIT的情绪进行编译或解释。