Может ли кто-нибудь объяснить использование отражения и самоанализа Java? Когда нам нужно использовать оба?
Явная интроспекция и отражение Java
Ответ 1
Отражение (взято из oracle java tutorial)
Отражение обычно используется программами, которые требуют возможности исследовать или изменять поведение среды выполнения приложений, запущенных на виртуальной машине Java. Это относительно продвинутая функция и должна использоваться только разработчиками, которые хорошо понимают основы языка. Учитывая это предостережение, рефлексия является мощным методом и может позволить приложениям выполнять операции, которые в противном случае были бы невозможны.
Интроспекция (взята из архив sun java beans учебник)
Introspection - это автоматический процесс анализа шаблонов дизайна bean для выявления свойств, событий и методов bean. Этот процесс контролирует публикацию и открытие операций и свойств bean.
Introspection использует отражение, связь между Introspection и Reflection может рассматриваться как аналогичная JavaBeans и другим классам Java.
Возможно, стоит посмотреть "Отражение и интроспекция: объекты, выставленные" , где подробно рассказывается о производительности и использовании. Обратите внимание, что статья устарела, 1998 год.
Надеюсь, что это поможет.