百度百科
JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。JRebel使你能即时分别看到代码、类和资源的变化,你可以一个个地上传而不是一次性全部部署。当程序员在开发环境中对任何一个类或者资源作出修改的时候,这个变化会直接反应在部署好的应用程序上,从而跳过了构建和部署的过程,每年可以省去部署用的时间花费高达5.25个星期
传统的hotswap
当有新的字节码发生改变,就替换crud新的字节码。
jreble
通过instrument来修改ClassLoader和Reflection相关的类,加入自己的入口(比如监测类文件或者资源改变),因为我们无法修改已经装载的类,只能通过产生新的类来实现,因此在装载类A的时候,实际上我们是产生了一个A1给应用使用。