HotSwap
When you're making changes to your code, you might want to immediately see how they will behave at runtime without shutting down the process. The HotSwap mechanism lets you do that by reloading the classes changed during a debugging session.
Reload changed classes
Suspend the program.
Press ⌘ ⇧ K and start typing
Reload Changed Classes
. Select Reload Changed Classes.
HotSwap limitations
Due to VM design, HotSwap has the following limitations:
it is only available if a method body is modified. Changing signatures is not supported.
adding and removing class members is not supported
if the modified method is already in the call stack, the changes will take effect only after the program exits the modified method. Until that moment, the method body remains unchanged. In this case, the frame is displayed as obsolete.
If you want to remove the limitations imposed by the standard VM, you can use the Dynamic Code Evolution VM with unlimited support for reloading classes at runtime.