目录
Java虚拟机,英文名Java Virtual Machine,简称JVM,主要由类加载器、执行引擎、运行时数据区以及本地接口等部分组成,这些部分共同协作,使得Java程序能够在多种平台上运行。
类加载器(Class Loader)
负责将编译后的Java类文件 (.class文件)加载到内存中,并生成对应的Class对象,在堆中生成代表这个类的java.lang.Class对象,作为方法区中类数据的访问入口。类加载器只管加载,只要符合文件结构规范就加载,至于能否运行,则由执行引擎负责。
执行引擎(Execution Engine)
负责执行class文件中包含的字节码指令,相当于物理机器上的CPU。执行引擎是JVM的核心部分,它读取由类加载器加载的字节码,并转换成机器码(在某些情况下是解释执行,在JIT编译技术下则是编译成机器码执行),最终交由操作系统执行。
运行时数据区(Runtime Data Area)
运行时数据区是JVM中用于存储和管理数据的重要部分,主要包括以下几个区域: