4【java面试必会】jvm 内存结构

jvm的内存结构
根据JVM规范,jvm 内存共分为虚拟机栈,堆,方法区,程序计数器,本地方法栈
五个部分

1,虚拟机栈

线程私有,每个方法在执行的时候会创建一个栈帧,存储了局部变量表,操作数帧,动态连接,方法返回地址等;每个方法从调用到执行完毕,对应一个栈帧在虚拟机中的出栈和入栈。

2,堆

线程共享,被所有线程共享的一块内存区域,在虚拟机启动时创建,用于存放对象实例。

3,方法区

线程共享;被所有线程共享 的一块内存区域;用于存储已被虚拟机加载的类信息,常量,静态变量等。

4,程序计数器

线程私有,是当前线程所执行的字节码的行号指示器,每条线程都有一个独立的线程计数器,这类内存也被称为 "线程私有"的内存

,5, 本地方法栈

线程私有;主要为虚拟机使用到的Native 方法服务。

你可能感兴趣的:(4【java面试必会】jvm 内存结构)