jvm虚拟机内存模型

   

Java虚拟机内存模型及分区

jvm虚拟机内存模型

1、程序计数器:

        每个线程私有,主要是记录线程当前执行的位置,程序计数器出现的原因是计算机的cpu同时只能执行一个任务,在java虚拟机的多线程中就需要程序计数器来记录当前线程执行的位置。

2、java虚拟机栈:

      线程私有,生命周期是和线程一起的同存亡。主要加载局部变量、操作数栈、动态链接,是执行java方法的服务。

3、本地方法栈:

      线程私有,生命周期是和线程一起的同存亡。是执行navtive方法(本地方法)的服务。

4、堆

      所有线程共享的区域,基本上所得对象都保持在这里面,是java GC回收的主要区域,可以划分为新生代和老年代,新生代划分为Eden、From Survivor和To Survivor。

5、方法区

      主要存放类信息、常量、静态变量