Part XI — Reflection and Metaprogramming

Master runtime introspection and code generation with modern reflection techniques, method handles, and annotation processing.

What You'll Learn

Use reflection responsibly in the modular era, respecting accessibility boundaries and security contexts. Replace slow reflection paths with MethodHandle for performance-critical code. Generate boilerplate and metadata at compile time with modern annotation processing.

Chapters in This Part

Chapter 36. Reflection Basics

Apply reflection safely in modern Java: understand the module system implications, access control, and when reflection is truly necessary. Learn to inspect classes, methods, fields, and annotations, and when to prefer compile-time approaches.

Chapter 37. Method Handles

Unlock high-performance method invocation with MethodHandle—the modern alternative to reflection. Understand handle composition, performance characteristics, and use cases from dynamic DSL implementation to framework internals.

Chapter 38. Annotations and APT

Generate boilerplate and type-safe metadata with modern annotation processing at compile time. Build custom annotation processors, integrate them into build pipelines, and generate source or bytecode programmatically while avoiding reflection overhead.