Runtime code generation is another way to execute arbitrary code at runtime. It is different from reflection in that once you have generated this class, it is much faster and the generated class can be cached and reused over and over again. This is part of the stupendous series Java programming dynamics.