JVM虚拟机内存分配
1.程序计数器:
在JVM规范中,每个线程都有自己的程序计数器,并且任何时间一个线程都只有一个方法在执行,也就是所谓的当前执行方法。程序计数器会记录存储当前线程执行Java方法的JVM指令地址。如果是在执行本地方法,则是未指定值。
2.Java虚拟机栈:
每个线程创建的时候都会创建一个Java虚拟机栈,其内部保存一个个的栈帧,对应着一次次的java方法调用。栈帧中存储着局部变量表、操作数栈、动态链接、方法正常退出、异常退出等。
3.堆:
Java内存管理的核心区域,用来存放Java对象实例,几乎所有的创建的Java对象实例都是被存放到堆上。堆被所有线程共享。堆细分的话就又分为新生代和老年代。
4.方法区:
这个也是所有线程共享的区域,用于存放元数据(meta data),例如类结构信息、以及对应的运行时常量池、字段、方法代码等。
5.本地方法栈
和Java虚拟机栈非常的相像,每个线程都会创建一个。

浙公网安备 33010602011771号