I imagine that no, they aren\'t, because every process has its own memory space, of course.
But how does the whole JVM thing actually work? Is there
You are correct in your assumption. Yes, each JVM is a separate process. You can confirm this by opening Task Manager when you're running two Java programs (sort processes by name and look for java.exe or javaw.exe).
It is possible to make JVMs connect to each other (with local sockets, for instance), but there's nothing built in.