Janino is a super-small, super-fast Java™ compiler.
Not only can it compile a set of source files to a set of class files like JAVAC, but also can it compile a Java™ expression, block, class body or source file in memory, load the bytecode and execute it directly in the same JVM.
For details and full documentation, see the JANINO home page: