I am a mainly .NET developer and I do a lot of infrastructure work with techs like ESX and Hyper-V. I find it very odd that the JVM has VM in it (I keep thinking of VMs in the form that sits on an ESX server).
Am I correct in saying that the JVM is an actual VM sitting in a certain ring between the OS and apps (not between hardware and OS)?
Thanks
It’s a virtual machine in the same way that the CLR (part of .NET) is a virtual machine. It’s not quite the same as a Hyper-V type VM though… Hyper-V virtualizes common hardware to run an entire operating system so that most code “thinks” it’s really running directly on a normal computer.
The JVM or CLR are slightly different in that:
Both kinds of “virtual machine” are running code in a virtual environment, but the primary concerns of the two are very different.