Java最大的优势在于它的虚拟机机制和垃圾回收机制。今天先谈Java虚拟机机制。
 
  Java虚拟机(Java Virtual Machine) 简称JVM Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机有五部分构成:一组指令集,一组寄存器,一个栈,一个无用单元收集堆,一个方法区域。这五个部分是虚拟机的逻辑成分,但他们必须在真是机器上以某种方式实现。
 
  Java虚拟机机制的存在可以使java语言在不同平台上运行时而不需要再重新编译。Java虚拟机屏蔽了与具体平台无关的信息,使得Java语言编译程序只需要生成在Java虚拟机上运行的字节码,就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。
 
 
 
 
  Java程序先经过编写生成.java源程序,然后经过Java编译器编译生成.class字节码,这时运行虚拟机,虚拟机会启动类加载器,然后类加载器会找到APT中相对应的类进行加载,进行匹配后,再进行字节码校验,解释器进行解释,最后交给操作系统控制硬件执行。或者通过JIT(just in time)编译器将.class文件快速交给操作系统控制硬件执行。需要注意的是:解释器是每执行一行就解释一行,而JIT则是将整个代码一次性翻译完,然后一次性运行。因此JIT编译器的运行效率要比解释器更高。