TGViewer
Spring АйО Spring АйО @spring_aio · 10.9K subscribers
Post #1104 7.52K
🤚 Reflection тормозит

Сколько раз вы слышали тезис о том, что в Java Reflection тормозит, и лучше его избегать. Насколько это правда?

С одной стороны, JMH benchmark на коленке, написанный на Java 17 говорит - деградация по сравнению с прямым вызовом есть, примерно 20-25%. Так в чём же дело?

На практике, на performance reflection-а влияет множество вещей:

- Проверки на доступ (Известный setAccessible)
- Возможности инлайнинга методов JIT-ом
- Необходимый Boxing/Unboxing в силу сигнатуры Method#invoke() и т.д.

В статье от Бена Эванса, писателя и jvm-инженера, рассказывается о том, почему производительность reflection-а имела проблемы. Однако в Java 18 reflection начал использовать MethodHandles и это многое поменяло.

P.S: Если будет интересно, пишите, обязательно расскажем и про MethodHandles.

📎 Полный текст: https://habr.com/ru/companies/spring_aio/articles/1056734/
  • 👍 32
  • 🔥 12
  • ⚡ 9
  • ❤ 3
  • 🤯 2
More from @spring_aio
  1. Oct 1, 2026JEP 544: JVM будет сохранять машинный код между запусками JEP 544 (Ahead-of-Time Code Comp…
  2. Sep 30, 2026🍃 Переписываем всё на Rust, JavaScript — кошмар, AI против Vaadin | Spring АйО Подкаст №7…
  3. Sep 29, 2026⚡️ AI-плагин уже в OpenIDE Pro Вышли новые версии OpenIDE и OpenIDE Pro: AI-плагин теперь…
  4. Sep 28, 2026🧑‍💻 Скрытая возможность конфигурации Spring Boot, о которой мало говорят Представим, что…
  5. Sep 25, 2026✏️ В JavaDoc предлагают добавить заметки, которые сложно пропустить В JavaDoc предлагают д…
  6. Sep 24, 2026🔥 Запись открытой лекции уже доступна Вчера прошла первая открытая лекция курса «Java в п…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →