返回
### (一)JVM的整体架构(图示)
### 1.Java虚拟机架构
JVM由一堆子系统组合而成,其组成结构如图所示:
Java虚拟机字节码文件格式是一种与计算机硬件平台无关的、可移植的文件格式。Java虚拟机字节码文件格式包括了Java虚拟机指令、Java虚拟机运行时数据区、Java虚拟机栈等信息。
Java虚拟机类加载机制是一种将Java类文件加载到Java虚拟机运行时数据区中的过程。Java虚拟机类加载机制包括以下步骤:
Java虚拟机执行引擎是Java虚拟机用来执行Java虚拟机指令的组件。Java虚拟机执行引擎包括以下几个组件:
Java虚拟机内存管理包括以下几个部分:
JVM 轮廓
后端
2023-10-09 11:08:09
一、JVM轮廓
### (一)JVM的整体架构(图示)
(二)Java代码执行流程(图示)
(三)JIT编译器(just in time)即时编译器:将热点代码缓存起来(缓存成本地的机器指令)
二、Java虚拟机实现原理
### 1.Java虚拟机架构
JVM由一堆子系统组合而成,其组成结构如图所示:
Java虚拟机运行时数据区用来存放Java虚拟机运行时的数据,这些数据包括在Java虚拟机运行时中产生的变量、中间结果和对象引用等数据。Java虚拟机运行时数据区的主要部分包括:程序计数器、Java虚拟机栈、本地方法栈、堆、方法区。
Java虚拟机指令集架构是Java虚拟机执行引擎执行指令的标准。Java虚拟机指令集架构包括一大批指令,每条指令都对应着计算机CPU的一条微指令。
2.Java虚拟机字节码文件格式
Java虚拟机字节码文件格式是一种与计算机硬件平台无关的、可移植的文件格式。Java虚拟机字节码文件格式包括了Java虚拟机指令、Java虚拟机运行时数据区、Java虚拟机栈等信息。
3.Java虚拟机类加载机制
Java虚拟机类加载机制是一种将Java类文件加载到Java虚拟机运行时数据区中的过程。Java虚拟机类加载机制包括以下步骤:
- 查找类文件:Java虚拟机根据类的名称查找类文件,查找路径包括系统类路径、当前工作目录等。
- 加载类文件:Java虚拟机将类文件从磁盘加载到内存中。
- 验证类文件:Java虚拟机验证类文件是否正确,包括检查类文件是否损坏、类文件的版本是否正确、类文件是否符合Java虚拟机规范等。
- 准备类文件:Java虚拟机准备类文件,包括分配类的内存空间、设置类的属性、初始化类的变量等。
- 解析类文件:Java虚拟机解析类文件,包括解析类的名称、类的方法、类的属性等。
- 初始化类:Java虚拟机初始化类,包括调用类的构造方法、执行类的静态变量初始化等。
4.Java虚拟机执行引擎
Java虚拟机执行引擎是Java虚拟机用来执行Java虚拟机指令的组件。Java虚拟机执行引擎包括以下几个组件:
- 指令解释器:Java虚拟机指令解释器将Java虚拟机指令翻译成计算机CPU的微指令,然后由计算机CPU执行。
- 即时编译器:Java虚拟机即时编译器将Java虚拟机指令编译成计算机CPU的机器代码,然后由计算机CPU执行。
- 垃圾收集器:Java虚拟机垃圾收集器负责回收不再使用的对象,以释放内存空间。
5.Java虚拟机内存管理
Java虚拟机内存管理包括以下几个部分:
- Java虚拟机堆:Java虚拟机堆是Java虚拟机运行时数据区的一部分,用于存储Java对象。
- Java虚拟机栈:Java虚拟机栈是Java虚拟机运行时数据区的一部分,用于存储Java方法的执行状态。
- Java虚拟机本地方法栈:Java虚拟机本地方法栈是Java虚拟机运行时数据区的一部分,用于存储本地方法的执行状态。
- Java虚拟机程序计数器:Java虚拟机程序计数器是Java虚拟机运行时数据区的一部分,用于存储当前正在执行的Java指令的地址。