Java虚拟机运行在计算机实体上一个Java模拟运行环境,编译后的Java程序指令并不是在硬件系统CPU上执行,而是在JVM上执行
JVM作为Java和程序和硬件系统之间的接口
还作为Java执行编译后的安全检查是Java在多平台进行无缝移植的可靠保证,同时也是Java程序的安全检查引擎
内部的结构分为三部分
一,类装载子系统
用来装载。class文件
二,执行引擎
作用是用来执行字节码或执行本地方法
三运行时的数据区
包含六块
1
PC寄存器:用来存储每个线程下一步将要执行的Java接口
2
JVA栈
每个线程私有存放,局部变量,只存储基本数据类型,非基本数据类型只存在指向的引用地址
3
堆
用来存储,对象实例以及数组的实例
4方法区域
5运行时常量池
6本地方法堆栈,用来存储每个native的存储状态