JVM(Java虚拟机)是一个抽象机器。 它是一个提供可以执行Java字节码的运行时环境的规范。JVM可用于许多硬件和软件平台(即JVM是平台相关的)。
Q)java 虚拟机是什么?
- Java虚拟机工作规范,提供程序独立选择的算法
- 有Java运行环境
Q)Java虚拟机能做什么?
Java虚拟机执行以下操作
- 加载代码
- 验证代码
- 执行代码
- 提供运行环境
Java虚拟机有哪些定义?
- 内存区
- 类文件格式
- 寄存器集合
- 垃圾收集堆
- 致命错误报告
Java虚拟机内部体系结构
下面让我们来了解JVM的内部架构。它包含类加载器,内存区域,执行引擎等。
1.类加载器
Classloader是JVM的一个子系统,用于加载类文件。
2.类(方法)区域
类(方法)区域存储每个类结构,例如运行时常量池,字段和方法数据,方法的代码。
3.堆
它是分配对象的运行时数据区。
4)堆栈
Java堆栈存储帧。它保存局部变量和部分结果,并在方法调用和返回中起作用。每个线程都有一个私有JVM堆栈,同时创建线程。每次调用方法时都会创建一个新的框架。 框架在其方法调用完成时被销毁。
5)程序寄存器
PC(程序计数器)寄存器。 它包含当前正在执行的Java虚拟机指令的地址。
6)本地方法堆栈
他包含本地应用方法中的所有方法
7)执行引擎
执行引擎包含
- 虚拟处理器
- 解释器:读取字节码流,并执行指令
- 即时(JIT)编译器:它用于提高性能,JIT编译的同时有类似字节代码的功能,从而减少编译所需的时间。java编译器是指JAVA虚拟机(JVM)的指令集到特定CPU的指令集的转换器。