JDK 7允许程序改变自己的代码吗?

Zub*_*air 1 java java-7

我注意到JDK 7中的编译器API.这是否意味着Java程序可以重新编译并更改正在运行的程序的定义?

目前我知道像JavaRebel这样的产品可以做到这一点,但是提供免费下载的产品不包括Javarebel,这是一种付费产品.

And*_*s_D 8

Compiler API已在Java 6中提供.

我们无法更改已加载类的代码 - 热代码替换仍将仅限于调试,但我们可以从Java应用程序编译源代码并在运行时加载新创建的类.