Java虚拟机(JVM)是Java平台的核心组成部分,是一种能够在不同操作系统上运行Java字节码的虚拟机。它允许开发人员编写一次代码,并在各种平台上运行,实现了"一次编写,到处运行"(Write Once, Run Anywhere)的理念。
工作原理
JVM的工作原理基于Java源代码的编译和执行过程。当开发人员编写Java代码后,使用Java编译器将其编译成字节码(.class文件)。JVM负责解释和执行这些字节码。
通过上面的对比可以知道,计算机是有实实在在的硬件系统的,但是虚拟机是没有的,虚拟机的硬件系统都是将宿主机(安装虚拟机的计算机)的硬件系统虚拟出来的。这里可能比较抽象,我们可以举一个例子,计算机进行计算,直接使用自己的CPU来计算就行;但是虚拟机进行计算的话,虚拟机是没有自己的实际硬件CPU的,因此虚拟机的计算只有发到其宿主计算机的CPU上来计算。
如果上面的问题还比较抽象的话,我们可以拿现实中的例子来类比一下。大家都知道在北京租房子是很贵的,通常一套房子有单独的厨房,卫生间,客厅等。可是一套房整租 太贵了,这时候几个小伙子可以合租这一套房子,大家共用厨房,卫生间,客厅等配套设备。这个例子不一定恰当,但是已经比较近似了,希望大家可以明白我的意思。
好的,为什么要用虚拟机那?虚拟机的好处是什么?
虚拟机是轻量级的计算机系统,安装部署方便;虚拟机可以将宿主机的系统资源划分给多个虚拟机共同使用,提高资源的利用率;虚拟机之间是相互隔离的,一台虚拟机的事故不至于影响到其他虚拟机;有时候为了测试其它操作系统,我们没必要弄多台计算机,只需要装上虚拟机,在虚拟机上测试即可。