Java annotation processing magic for muggles
summary
Compares runtime reflection and classpath scanning with compile-time processing, showing concrete tools and tradeoffs: reflection and ClassGraph slow startup and increase memory, whereas the Java Annotation Processing API plus bytecode tools like Byte Buddy and ASM or build-time libraries such as Yandex and Gizmo move work to compile/build time. Explains why Lombok’s AST mutation breaks rules, shows Micronaut generating interceptors and serializers at compile time, claims much faster startup and lower memory and notes real production use with GraalVM (Disney Plus).
AI-written summary · about
chapters (16)
- 0:00Java annotation processing intro
- 3:15Spring runtime annotation processing
- 7:14Dynamic proxies and bytecode at runtime
- 10:53Class File API and ASM
- 13:50Demo: Timed annotation with Byte Buddy
- 16:22Problems with runtime annotation processing
- 18:34Compile vs build time annotation processing
- 21:48Pluggable Annotation Processing API
- 26:12Project Lombok issues
- 33:51Why avoid Lombok in modern Java
- 34:13Micronaut framework intro
- 36:42Micronaut compile-time annotation processing
- 38:29Demo: Timed annotation with Micronaut
- 41:17Micronaut source generation
- 43:25Compile-time processing for cloud-native
- 45:30Performance benefits and closing








