@PetrJ

Нужно ли знание Java Memory Model для Kotlin-программиста?

Заинтересовался Android-разработкой, сейчас учу Kotlin, попалась статья про Java Memory Model https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D... - про взаимодействие потоков в многопоточных программах.
Насколько актуальна эта информация для kotlin-программиста под андроид? Ведь для андроида уже есть своя виртуальная машина ART.
  • Вопрос задан
  • 340 просмотров
Пригласить эксперта
Ответы на вопрос 1
@umpteenthdev
При сборке Android-приложения Java-код сначала компилируется обычным компилятором Java в class-файлы, а потом конвертируется в DEX-файл с помощью R8
(источник 1, источник 2)

Kotlin код тоже компилируется в Java байткод, т.к. JVM язык.
Следовательно, если написать Android приложение на Kotlin не задумавшись о JMM, то можно получить Java байткод, который некорректно опысывает ваши намерения, а он будет транслирован в некорректный Dalvik байткод и поведение получится соответствующим.

В общем нужно (на мой взгляд) заморачиваться с изучением JMM.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы