1

I do have a little question about JVM and Kotlin. The JVM uses the Javac compiler to compile the Java code to bytecode. How does this work for Kotlin? Will the JVM use the Kotlinc compiler or will it still use the Javac compiler as Kotlin can be compiled to Java?

4

1 回答 1

6

JVM 不使用 javac 编译器。该过程的工作方式不同:首先,开发人员运行 javac 将 .java 文件编译为 Java 字节码(.class 文件),然后 JVM 加载 .class 文件并执行字节码。

要编译 Kotlin 代码,请使用 kotlinc 编译器,它将 .kt 文件编译为 .class 文件。JVM 以完全相同的方式从 .class 文件中执行字节码;它不关心哪个编译器生成了 .class 文件。

在编译纯 Kotlin 项目时,不会以任何方式使用 javac。当您编译包含 Java 和 Kotlin 源文件的混合语言项目时,javac 编译器用于编译 Java,而 kotlinc 编译器用于编译 Kotlin。

于 2018-05-19T14:05:54.003 回答