数据结构(Java语言描述·微课版)
上QQ阅读APP看书,第一时间看更新

1.1.2 Java虚拟机

JVM(Java Virtual Machine)就是人们常说的Java虚拟机,它是整个Java实现跨平台的最核心的部分,所有的Java程序(.java文件)会首先被编译为扩展名为.class的类文件,这种类文件可以在虚拟机上执行,即它并不直接与计算机的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给操作系统执行。JVM是Java平台的基础,和实际的计算机一样,它也有自己的指令集,并且在运行时操作不同的主存储器(简称内存)区域。JVM通过抽象操作系统和CPU,提供一种与平台无关的代码执行方法,即与特殊的实现方法、主机硬件、主机操作系统无关的方法。但是在某些方面,在不同操作系统中可能有不同的JVM实现(例如垃圾回收算法、线程调度算法)。

JVM的主要工作是解释自己的指令集到CPU的指令集或系统调用,保护用户免被恶意程序骚扰。JVM对上层的Java源文件是不关心的,它关注的只是由源文件生成的类文件。类文件的组成包括JVM指令集、符号表以及一些辅助信息。