如果我用 javac 编译 java,我需要 JVM 吗?

If I compile java with javac do I need JVM?

我最近了解了 Java 如何使用 JVM 使自己成为平台无关的,我经常编写代码并在终端中使用 javac 命令编译它 (Mac OS X)。所以我的问题是 javac 是为 JVM 编译还是直接编译为机器代码?这将使它依赖于平台。

java 编译器 (javac) 从源代码生成字节码。这个字节码就是 JVM 的指令集。它在 JVM 上是 运行,因此虽然字节码是独立于平台的,但 JVM 不是。