Size: a a a

2020 October 17

BP

Bogdan Panchenko in KotlinLangRu
Раньше рефлексия была очень медленной
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
Раньше рефлексия была очень медленной
Это да.
А сейчас вообще, кстати, лямбдами кидаются и ничего
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
MyClass::class.constructors кинет ексепшн без рефлект либы
Хз честно. Но в таких случаях идея ворнинг кидает.
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
Хз честно. Но в таких случаях идея ворнинг кидает.
Ну да. Говорит, что нет либы рефлект в класспаше
источник

ИИ

Иван Иванов... in KotlinLangRu
А вот интересно, как рефлект так умело подменяет классы-заглушки?
Я так полагаю это внутри стдлиб сделано выбрать, если доступен рефлект, то дать реализацию, если недоступен, то заглушку?
источник

QH

Quantum Harmonizer in KotlinLangRu
Иван Иванов
А вот интересно, как рефлект так умело подменяет классы-заглушки?
Я так полагаю это внутри стдлиб сделано выбрать, если доступен рефлект, то дать реализацию, если недоступен, то заглушку?
try { doSomethingWithKtReflect() }
catch (e: NoClassDefFoundError) { /* no reflect */ }
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
От jvm зависит.
А можно ещё как-то ускорить этот процесс без генерации доп кода?
источник

QH

Quantum Harmonizer in KotlinLangRu
Иван Иванов
А можно ещё как-то ускорить этот процесс без генерации доп кода?
MethodHandle
источник

ИИ

Иван Иванов... in KotlinLangRu
Quantum Harmonizer
try { doSomethingWithKtReflect() }
catch (e: NoClassDefFoundError) { /* no reflect */ }
Я у себя сделал такую штуку)
Только сразу же флажок инициализировал
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
А можно ещё как-то ускорить этот процесс без генерации доп кода?
Думаю нет. Ну может есть хаки, но они специфические. Рефлексия в jvm очень быстрая.
источник

ИИ

Иван Иванов... in KotlinLangRu
Quantum Harmonizer
MethodHandle
А чуть подробнее.
Это не method.invoke()?
источник

QH

Quantum Harmonizer in KotlinLangRu
Иван Иванов
А чуть подробнее.
Это не method.invoke()?
неа)
источник

ИИ

Иван Иванов... in KotlinLangRu
Таак)
источник

QH

Quantum Harmonizer in KotlinLangRu
ну и, повторюсь, нахер ту рефлексию :)
источник

ИИ

Иван Иванов... in KotlinLangRu
Я так полагаю, стоит это изучить

https://m.habr.com/ru/company/haulmont/blog/431922/
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
А чуть подробнее.
Это не method.invoke()?
Ну "типа" того. Ты получаешь "ссылку" на метод, но я подводные камни не изучал пока - ниразу не пригодились
источник

ИИ

Иван Иванов... in KotlinLangRu
Quantum Harmonizer
ну и, повторюсь, нахер ту рефлексию :)
А MethodHandle must have?
источник

QH

Quantum Harmonizer in KotlinLangRu
Иван Иванов
А MethodHandle must have?
нет, это тоже рефлексия :)
источник

BP

Bogdan Panchenko in KotlinLangRu
Ну и я как я понял это шлёт нахрен полиморфизм
источник

ИИ

Иван Иванов... in KotlinLangRu
Quantum Harmonizer
нет, это тоже рефлексия :)
Чем она тебе так насолила?
источник