Использует ли JVM kotlinc для Kotlin?

У меня есть небольшой вопрос о JVM и Kotlin. JVM использует компилятор Javac для компиляции Java-кода в байт-код. Как это работает для Kotlin? Будет ли JVM использовать компилятор Kotlinc или он все еще будет использовать компилятор Javac, поскольку Kotlin может быть скомпилирован в Java?

1 ответ

JVM не использует компилятор javac. Процесс работает по-другому: сначала разработчик запускает javac для компиляции файлов.java в байт-код Java (файлы.class), а затем JVM загружает файлы.class и выполняет байт-код.

Для компиляции кода Kotlin вы используете компилятор kotlinc, который компилирует файлы.kt в файлы.class. JVM выполняет байт-код из файлов.class точно таким же образом; ему все равно, какой компилятор создал файлы.class.

При компиляции чистых проектов Kotlin javac никак не используется. Когда вы компилируете проект на разных языках, который содержит исходные файлы Java и Kotlin, для компиляции Java используется компилятор javac, а для компиляции Kotlin - компилятор kotlinc.

Другие вопросы по тегам