I noticed a compiler API in JDK 7. Does this mean that a Java program can recompile and alter the definition of a running program?
At the moment I know that products like JavaRebel can do this, but to offer a free download of a product excludes Javarebel which is a paid for product.
The Compiler API is already available in Java 6.
We can’t change the code of already loaded classes – hot code replacement will still be limited to debugging, but we can compile source code from Java applications and load newly created classes at runtime.