JVM结构

来源:互联网 发布:东方财富指标源码 编辑:程序博客网 时间:2024/06/05 23:56

这里写图片描述

这里写图片描述

第一个图,显示的是JVM的结构,第二个图显示的是JVM结构中的内存区域的结构

1、类加载器:JVM启动时活类运行时,将class文件加载到JVM的内存区。
2、垃圾回收器:检测系统垃圾,回收。
3、执行引擎:执行class文件中的字节码指令
4、本地库接口:C或C++实现的本地方法和放回结果
5、内存区(也叫运行时数据区):JVM运行时所操作的内存区,由五部分构成
(1)、栈(JVM栈):如图所示,栈是线程私有的,创建一个线程便会创建一个与之对应的栈,每个栈有多个栈帧,创建一个方法就创建一个栈帧,方法的调用和结束,对应栈帧的进栈和出栈。
(2)、程序计数器(寄存器):和栈一样,也是线程私有,用于保存当前线程执行的内存地址,JVM是多线程机构的,线程轮换执行,所以当线程切换回来后还能继续执行之前的位置,就通过计数器解决。
(3)、方法区:存储类结构信息的地方,包括常量池、静态变量、构造函数等,从头看出,java线程共享的区域。
(4)、方法栈:jVM使用native方法提供的栈
(5)、堆:存java对象的地方,被java线程共享的。