java - "All Java byte code interpreter are JVMs but all JVMs are not Java interpreters"的说法是真的吗?

标签 java jvm programming-languages interpreter

“所有 Java 字节码解释器都是 JVM,但所有 JVM 都不是 Java 解释器”这句话是真的吗?

我真的很困惑,因为 JVM 仅用于运行 Java 程序。或者它还能做其他事情吗?

最佳答案

Java 虚拟机 (JVM) 可以执行 Java bytecode 。 Java 编译器可以根据 Java 源文件创建 Java 字节码。

但是还有更多其他语言(如 Scala)的编译器也创建可以由 JVM 执行的 Java 字节码。

顺便说一句 - JVM 不会“解释 Java”。如果有意义的话,它将解释字节代码并将其编译为机器代码。

关于java - "All Java byte code interpreter are JVMs but all JVMs are not Java interpreters"的说法是真的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3447700/

相关文章:

java - Java 类链接解析步骤或初始化是否会导致加载其他解析的类?

java - 如何使用 hibernate.cfg.xml 创建数据库架构

java - 如何计算查询和文档之间的相似度?

java - Scala - 如何在运行时保证 val 不变性

language-agnostic - 了解无分隔的延续

garbage-collection - 我用带有垃圾收集器的语言构建了一个解释器。我需要一个用于解释器的垃圾收集器吗?

c# - 主要方法代码完全在 try/catch : Is it bad practice? 中

java - 如何在应用某些函数后有效地计算集合的最大值

java - 用 Java 在几个文本文件中查找和替换一个词?

java - 没有垃圾回收的 JVM