Using jsadebugd or jdb it's possible to debug already running JVMs, started without any arguments. I don't understand how it's possible, because I thought, that JVM compiles bytecode in native code by JIT, and it cannot be debuged.
Can anybody explain me ?
And how such time-to-time debug affects on performance?
Notably slows performance, however only if debugger is attached and that is only possible if compiled to allow debugging (optional).