s a platform, Java defines the services needed to connect binary components at runtime safely and reliably. To truly take advantage of all that Java has to offer, you must consider not just development but also deployment, and not just objects but also components. Component Development for the Java Platform delves into the component-oriented features of the Java platform, thoroughly discussing class loading, reflection, serialization, native interoperation, and code generation.
Chapter 3: “Type Information and Reflection” introduces Java type information. Java preserves type information in the binary class format. This means that even after you compile your Java programs, you still have access to field names, field types, and method signatures. You can access type information at runtime via Reflection, and use type information to build generic services that add capability to any object. You will see how to use dynamic invocation, dynamic proxies, package reflection, custom attributes, and more.
Reproduced from Component Development for the Java Platform by permission of Addison-Wesley. ISBN 0-201-75306-5. All rights reserved.