Java IDEs let you evaluate random code fragments at runtime in the context of the current debugger stackframe. You can also change method bodies (not signatures) and have them hot-reload.
It might look like C++, but the JVM is really more like Smalltalk in nature.
It might look like C++, but the JVM is really more like Smalltalk in nature.