Size: a a a

2020 July 08

MN

Midow Noname in KotlinLangRu
central hardware
JVM не может выполнить никакой  другой byte code отличный от того что описан в JVM specification
тогдп почему можно указать jvmtarget для котлина в gradle?
источник

AE

Alexandr Emelyanov in KotlinLangRu
Midow Noname
его байт код же хранится в файле class
Да, байт-код будет выполнен т.к. он в формате jvm, но он не всегда конвертируем в Java
источник

BP

Bogdan Panchenko in KotlinLangRu
Midow Noname
его байт код же хранится в файле class
А если котлин скомпилировать под js или native ?
источник

BP

Bogdan Panchenko in KotlinLangRu
Midow Noname
тогдп почему можно указать jvmtarget для котлина в gradle?
Потому, jvm может меняться
источник

BP

Bogdan Panchenko in KotlinLangRu
Alexandr Emelyanov
Да, байт-код будет выполнен т.к. он в формате jvm, но он не всегда конвертируем в Java
+
источник

_

_OM_ in KotlinLangRu
Alexandr Emelyanov
Да, байт-код будет выполнен т.к. он в формате jvm, но он не всегда конвертируем в Java
Это как так ? Любой jvm байткод можно декомпилировать в Java, вопрос в том что с ним оптимизатор сделает, читаемость может быть так себе
источник

AE

Alexandr Emelyanov in KotlinLangRu
_OM_
Это как так ? Любой jvm байткод можно декомпилировать в Java, вопрос в том что с ним оптимизатор сделает, читаемость может быть так себе
Котлин генерирует конструкции, которые не конвертируются в Java код
источник

_

_OM_ in KotlinLangRu
Да прям
источник

_

_OM_ in KotlinLangRu
И в тоже время все это работает под jvm , чёрная магия не иначе
источник

BP

Bogdan Panchenko in KotlinLangRu
_OM_
Да прям
Так и есть, спецификация джава != Спека jvm
источник

BP

Bogdan Panchenko in KotlinLangRu
Пример: в конструкторе super должен быть в начале, в байткоде уже нет
источник

_

_OM_ in KotlinLangRu
Как там компилятор оптимизирует это другое дело, в байт-код вообще ни слова о супер нет, там набор инструкций, ещё раз любой байт-код jvm можно декомпилировать в Java
источник

_

_OM_ in KotlinLangRu
Груви, скала, и Котлин туда же
источник

_

_OM_ in KotlinLangRu
Все языки которые бегают под jvm используют один и тот же набор инструкций
источник

ch

central hardware in KotlinLangRu
_OM_
Как там компилятор оптимизирует это другое дело, в байт-код вообще ни слова о супер нет, там набор инструкций, ещё раз любой байт-код jvm можно декомпилировать в Java
ещё раз любой байт-код jvm можно декомпилировать в Java
корутнины то же?
источник

_

_OM_ in KotlinLangRu
А они чем отличаются ?
источник

MN

Midow Noname in KotlinLangRu
ох этот jvm
источник

MN

Midow Noname in KotlinLangRu
...
источник

MN

Midow Noname in KotlinLangRu
а это правда то что 8-13 jvm компилирует один тот же байткод?
источник

MN

Midow Noname in KotlinLangRu
по дефолту вообще же jvm 6 же стоит в gradle
источник