一、什么是是(虚拟机)的缩写,是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。语言的一个非常重要的特点就是与平台的无关性。而使用虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入语言虚拟机后,语言在不同平台上运行时不需要重新编译。语言使用虚拟机屏蔽了与具体平台相关的信息,使得语言编译程序只需生成在虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是的能够"一次编译,到处运行"的原因。从平台的逻辑结构上来看,我们可以从下图来了解:JavaPlug-inJ^iva2DAc^^^sibihryPrintserviceSourdinputMethodsJDBCRMHIOPCo[le«ti0nsManagementRefleGtionEnstrumentatiJnJavaHotspotClientVMJavaHotspotServerVMPlatformsSolarisLinu:cWindcsw#Other从上图能清晰看到与于Class文件地址本地方法库OthtrSJI#Librari&iRegularExpre«ion?JivdVirtualMachineJavaWebStartVersioningZipUserTOOIKitsTOOK&TOOlAPIS平台包含的各个逻辑模块,也能了解到自身的物理结构,我们可以从下图鸟瞰一下执行引擎的区别,对类加载器子系统本地方法接口D^phvmentTechnologic;RefObj^ctE指卅数器以及其它隐含寄存器PreferencesAPIIntegroithnLiDroriejHJL垃圾收集器tfojavajavaepvadoc3ptjarjavapJPCAJavaVuualVMX