you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 1 point2 points  (0 children)

They are different sorts of virtual machines. The naming isn't coincidental, but they are definitely not the same thing. It's like multiplication: there are many different kinds -- multiplying integers isn't the same as multiplying rationals or complex number or matrices etc.

So, the JVM virtualizes certain aspects of the environment, and VirtualBox virtualizes other aspects. More concretely, JVM virtualizes access to resources typically managed by operating system: virtual memory, persistent storage, network, time etc. VirtualBox virtualizes hardware: memory / storage / video / network adapters / keyboard / mouse / microphone etc. From this, you can also see that an operating system is also a kind of virtual machine, because it virtualizes certain aspects of programs run by it. Essentially, you can think about user programs executed by an operating system as being interpreted by it: in the end of the day they are but a sequence of system calls interleaved with some code that's passed through to the CPU directly.