JVM 是否将 kotlinc 用于 Kotlin?

1 java jvm compilation kotlin kotlinc

我确实有一个关于 JVM 和 Kotlin 的小问题。JVM 使用 Javac 编译器将 Java 代码编译为字节码。这对 Kotlin 有何作用?JVM 会使用 Kotlinc 编译器还是仍然使用 Javac 编译器,因为 Kotlin 可以编译为 Java?

yol*_*ole 6

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

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

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