The Reflection API
Reflection in Java allows examination or modification of runtime behavior of applications running in the Java virtual machine. This powerful yet advanced feature should be used by developers with a strong grasp of Java. Key topics include retrieving class instances, reading class names and modifiers, accessing fields, invoking methods and constructors, working with arrays, enumerations, and records, reading annotations, and creating interceptors and dependency injection frameworks.