1. 类加载器 (class loader )
负责将编译后 java 类文件加载到 java 虚拟机中,并生成对应的class 对象。
2.执行引擎(Execution Engine)
负责执行java 程序的字节码指令,执行引擎有两种实现方式:解释执行和即时编译
3.运行时数据区(Runtime Data Area)
java虚拟机在运行的时会将内存划分为不同的区域,包括方法区,堆,虚拟机栈,本地方法栈,
程序计数器。
4.方法区(Method Area)
用于存储类的结构信息,包括类的字段,方法,常量池。
5.堆(Heap)
用于存储对象实例,所有的对象实例和数组都在堆上分配内存。
6.虚拟机栈(Java Virtual Machine Stack)
用于存储方法的局部变量,操作数栈,动态连接,方法出口等信息。
7.本地方法栈(Native Method Stack)
用于支持 java 虚拟机 调用本地方法
8.程序计数器(Program Counter)
用于记录当前线程执行的字节码指令的地址
9.本地方法接口(Native Interface)
用于支持java虚拟机调用本地方法库