Method statements (procedural code) work. Everything related to adding, removing or changing class schemes does not work. Thus, no inheritance changes, fields, extraction methods, signature changes, etc.
Typically, hot swap instructions do not work if you are doing something forbidden at the same time. Then the hot-swap connection is βbrokenβ, so to speak.
One thing that I donβt know for sure is anonymous classes. Never tried this due to hot swap.
Edit: the guys there at zeroturnaround put together a list in their functions section, which the jvm debugger cannot do out of the box to promote its product: http://www.zeroturnaround.com/jrebel/features/ . If you like this tool or not, the list reflects my experience.
Stefan schubert-peters
source share