基本概念:JVM是一台可以运行Java代码的假设计算机,包括一套字节码指令集、一组寄存器、一堆堆栈、垃圾回收、堆放和一个存储方法域。JVM在操作系统上运行,与硬件没有直接交互。
操作过程:Java源文件,可通过编译器生产相应的文件.Class文件,即字节码文件,通过Java虚拟机中的解释器编译成特定机器的机器代码。
也就是说:
Java源文件->编译器->字节码文件
字节码文件->JVM->机器码
每个平台的解释器都是不同的,但实现的虚拟机是相同的,这就是为什么Java可以跨平台。当一个程序开始运行时,虚拟机开始实例化,多个程序开始时会有多个虚拟机实例。当程序退出或关闭时,虚拟机实例消失,多个虚拟机实例之间的数据无法共享。
