Reflection
Java'da sınıf, constructor, method, field ve annotation bilgisini çalışma zamanında keşfetmeye ve erişim sınırları içinde dinamik olarak kullanmaya yarayan introspection mekanizması.
JVM Çalışma Zamanı Bağlamı
Reflection birçok framework, serializer, dependency-injection container ve test aracının temelidir; ancak compile-time garantileri zayıflatabilir ve module access, native-image konfigürasyonu, startup ile optimizasyonu karmaşıklaştırabilir. Hot path'lerde MethodHandle veya generated code daha uygun olabilir.
İlişkili JVM Kavramları
- ClassLoader
- annotation
- MethodHandle
- dynamic dispatch