Explaining the Java Reflection API and providing techniques for using it successfully, this guide describes the capabilities that allow a program to examine and modify itself at runtime. The book examines the java.lang.reflect package, explains how you can benefit from its use, and includes a detailed discussion of Java's dynamic proxy facility.
The authors also address less obvious reflective capabilities, such as call stack introspection and the Java class loader. You'll learn the various ways to use Reflection to generate code and work around the API's limitations. The book also focuses on performance analysis techniques as well as patterns, and features a peek at what's new in JDK 1.5. The book begins with simple, teachable examples that allow you to observe the concepts in action and then progresses to more complex examples that relate to problems programmers encounter every day. The authors provide valuable insight into how you can easily solve these problems using Reflection.