一 虚拟机的基本概念
虚拟机是一台想象中的小型计算机,它有自己的一套逻辑指令,我们编写JAVA代码,经过编译器编译以后就生成了
虚拟机的逻辑指令集(.class文件),JVM的任务就是将.class 文件装入内存,并把这些.class 文件包含的伪指令解释
为具体平台的机器指令,然后执行。从这个意义上来说编译器是平台无关的,而JVM是平台有关的。对于JVM的实现,
不同的公司有其具体的实现,但是他们都要遵循统一的规范,我只是看了下SUN公司的JVM的具体实现。就JVM的实现
方法来说,即可以用软件实现,也可以用硬件实现,就软件实现来说可以采用两种方式:第一种,采用解释器实现,也
就是通过解释器来解释虚拟机指令,并将其转化为相应平台的机器指令。第二种,采用及时编译技术(JIT),也就是说
直接将字节码文件编译为具体平台的汇编指令或者是机器指令。采用第二种方法可以提高虚拟机工作的效率,从而提高
JAVA应用程序的性能。但是无论采用何种实现,也无论哪个公司来实现JVM,但是他们所生产的JVM都必须执行统一格式
的字节码文件。