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

如果我用javac编译java,我需要JVM吗?,java,jvm,javac,Java,Jvm,Javac,我最近了解到Java如何使用JVM使自己独立于平台,我经常在终端(Mac OS X)中使用javac命令编写代码并编译它。所以我的问题是javac是为JVM编译它,还是直接编译成机器代码?这将使它依赖于平台。java编译器(javac)从源代码生成字节码。这个字节码是JVM的指令集。它是在JVM上运行的,所以虽然字节码是独立于平台的,但JVM不是。javac生成Java类文件,在JVM上运行。将其作为答案发布,并提供更多的细节/解释,我会接受。是的,在一般情况下,您需要JVM。大多数标准的Mac

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

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

javac
生成Java类文件,在JVM上运行。将其作为答案发布,并提供更多的细节/解释,我会接受。是的,在一般情况下,您需要JVM。大多数标准的Mac/Windows设备都会安装JVM版本,尽管并不总是一个新版本,足以满足您的编译“目标”。标准编译的Java程序不依赖于平台。