JRebel, formerly known as JavaRebel, is a plug-in for the Java Virtual Machine (JVM) that enables instant reloading of changes made to a Java class file.
JRebel is an alternative solution to updating classes which does not require a debugging session to be started
Instead it monitors the file system for changes and updates the classes in-memory.
This means that only classes compiled to ".class" files will be updated and changes to classes in JAR files will be ignored.
JRebel imposes a performance overhead on the application and should not be used in production or performance tests. It is meant to be a development tool only.
Starting from version 1.4, the Java Virtual Machine includes a hot swapping feature that allows developers to update the code on-the-fly during debugging
However hot swapping was limited to updating method bodies only, and trying to add methods and fields to classes would not succeed.
https://en.wikipedia.org/wiki/JRebel