我对JVM和Kotlin有一点疑问。 JVM使用Javac编译器将Java代码编译为字节码。这对Kotlin有什么用? JVM是否会使用Kotlinc编译器,还是仍然会使用Javac编译器,因为Kotlin可以编译为Java?
答案 0 :(得分:2)
JVM不使用javac编译器。该过程的工作方式不同:首先,开发人员运行javac将.java文件编译为Java字节码(.class文件),然后JVM加载.class文件并执行字节码。
要编译Kotlin代码,请使用kotlinc编译器,它将.kt文件编译为.class文件。 JVM以完全相同的方式从.class文件执行字节码;它不关心哪个编译器生成.class文件。
编译纯Kotlin项目时,不会以任何方式使用javac。编译包含Java和Kotlin源文件的混合语言项目时,javac编译器用于编译Java,而kotlinc编译器用于编译Kotlin。