概述
JVM内存模型
堆
堆是线程共享的,在虚拟机启动的时候创建,主要用于存放对象实例。对于大多数应用来说,堆是内存最大的一块区域;同时堆是内存模型中最重要的一个区域,也是JVM调优重点关注的区域。 方法区(元空间) 方法区是线程共享的,存放已被虚拟机加载的类信息,常量,静态变量,即时编译后的代码等数据。
虚拟机栈
虚拟机栈是线程私有的,生命周期和线程一致,用于存储局部变量表、操作数栈、动态链接、方法出口、附加信息。每一个方法从调用直至执行结束,就对应着一个栈帧从虚拟机栈中入栈到出栈的过程。
本地方法栈
本地方法栈是线程私有的。JAVA通过JNI调用C、C++动态链接库需要的栈,随着socket的发展,JNI技术已经用得非常非常少。
程序计数器
程序计数器线程私有的,存储字节码指令前面的index。
作者: Yanci丶
出处:https://www.cnblogs.com/Y2EX/p/14809888.html