Three Metaprogramming Models in Java: Annotation Processors vs Bytecode Agents vs Reflection
Java code can write, rewrite, or inspect other Java code. The real question is when it happens, and who pays for it. Three Moments, Three Trade-Offs Java developers meet metaprogra...