~/talk

Java annotation processing magic for muggles

Talkat Voxxed Days CERN 2025 · on Wednesday, 2025-01-15· [java, compilers-and-language-design]
links:none on file
slides:none on file

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

  1. 0:00Java annotation processing intro
  2. 3:15Spring runtime annotation processing
  3. 7:14Dynamic proxies and bytecode at runtime
  4. 10:53Class File API and ASM
  5. 13:50Demo: Timed annotation with Byte Buddy
  6. 16:22Problems with runtime annotation processing
  7. 18:34Compile vs build time annotation processing
  8. 21:48Pluggable Annotation Processing API
  9. 26:12Project Lombok issues
  10. 33:51Why avoid Lombok in modern Java
  11. 34:13Micronaut framework intro
  12. 36:42Micronaut compile-time annotation processing
  13. 38:29Demo: Timed annotation with Micronaut
  14. 41:17Micronaut source generation
  15. 43:25Compile-time processing for cloud-native
  16. 45:30Performance benefits and closing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.