Среда выполнения Kotlin

Поскольку Kotlin работает на JVM и компилируется в байт-код Java, можем ли мы сказать, что приложение Kotlin в Android и приложение Java в Android имеют одинаковую среду выполнения?

Для людей, проголосовавших против: пожалуйста, просто добавьте комментарий, чтобы Винсент мог понять, почему его вопрос не подходит.

KeyMaker00 01.05.2018 12:33
1
1
79
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Если вы сами посмотрели на байт-код, вы, вероятно, могли бы сказать, из какого исходного исходного языка был скомпилирован данный класс, на основе определенных характерных структур и метаданных, но инструменты, обрабатывающие их дальше, не заботятся, потому что они уже находятся в общем формате что они могут использовать.

Спасибо за ответ. Еще одна вещь, Java-приложение для Android использует ART, это то же самое для Kotlin? я новичок и очень запутался :)

Vincent Victor 01.05.2018 13:21

Да, к тому моменту, когда код попадает в APK и устанавливается на устройство, выходные данные исходных текстов Java и Kotlin уже давно объединены. ART выполняет код из обоих источников, потому что все они находятся в одних и тех же файлах .dex.

zsmb13 01.05.2018 13:24

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