哪个是JVM的正确实现?

时间:2014-09-07 20:52:05

标签: java jvm-hotspot

我刚读过JRE是JVM的一个实现,而HotSpot VM也是JVM的一个实现。哪一个

是对的吗?

2 个答案:

答案 0 :(得分:0)

<强>两个

JLS,“Java语言规范”,定义了Java语言(http://docs.oracle.com/javase/specs/)的语法和功能。当您创建一段Java代码时,它必须先进行编译才能运行,这意味着您可以将其转换为机器可以理解的低级指令集。

编译器可以假设将其转换为任何架构上的机器指令。 Java被设计为“可移植的”,即在许多系统中运行。 JVM,Java虚拟机本身编译到许多体系结构上,就是对此的回答。你不是编译macos,linux和windows,而是编译成Java Byte Code,而JVM(再次编译到那些操作系统上)会解释你的代码。

您可以在此处详细了解热点http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136373.html

答案 1 :(得分:0)

Java虚拟机是specification,允许供应商实现不同的版本。

维基百科有list个不同的JVM。

Oracle Java SE HotSpot是许多能够将Java代码“及时”编译为本机代码的JVM实现。

JRE只是一个JVM实现,加上标准Java API和库以及其他一些东西的实现。