Java可以编译没有JVM的源代码吗?

时间:2016-09-26 19:21:55

标签: java compilation jvm javac

我正在详细搜索JVM以了解它的工作情况并使用Java编程语言正常工作,因此,除了独立于操作系统之外,JVM对于Java编译有多重要。

3 个答案:

答案 0 :(得分:4)

如果使用主编译器Javac,则需要一个JVM。

JVM不会影响编译,只需要编译,因为主编译器实际上是Java程序本身,运行Java程序需要JVM。

理论上,编译器是编译Java代码所需要的唯一东西。实际上,the JVM knows nothing of the Java programming language只有编译器生成的字节码。 JVM允许您的计算机运行Java程序,并且不会影响编译过程。

但是,Java的主要编译器是用Java编写的。 要运行主编译器,您需要一个JVM。

如果您使用的是用不同语言编写的编译器,那么您就不需要JVM来编译代码。

答案 1 :(得分:-3)

JVM不会编译代码,它会解释。

Java既是一种解释语言,也是一种编译语言。 Java编译器'Javac'生成与平台无关的字节码。这个字节码,我们可以说是通用的,即,它不包括特定于每个平台的机器级细节。 该字节码中的指令不能由CPU直接运行。 因此,需要一些其他“程序”来解释代码,并提供可以执行的CPU机器级指令。该程序是'JVM'(Java虚拟机)。 请注意,JVM是特定于平台的。

答案 2 :(得分:-3)

git checkout bugfix_DE57162_zerovalue_sprint8 master与编译java代码无关。 JVM纯粹负责运行已编译的代码。有许多用于编译java代码的软件,例如JVM中包含的javac编译器,或大多数IDE中的集成编译器,还有单独的编译工具,如JDKgradle