One thing I love about the JVM is that the tooling can be used in production if necessary- generating thread dumps, JFR recordings, monitoring heap usage, etc., all of this is invaluable when diagnosing problems.
Yes! I’ve had to do this at a previous company, while leadership was demoing at a conference, there was a bug that would crash the system. Connected remotely through a debugger and listened for the condition, modifying state to keep the crash from happening. Can’t remember the details, but it was exciting.