Java面试必知必会

「Java面试必会」JVM内存结构

2019-01-08  本文已影响25人  花生无翼

JVM的内存结构
根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。
1. 虚拟机栈
线程私有;每个方法在执行的时候会创建一个栈帧,存储了局部变量表,操作数栈,动态连接,方法返回地址等;每个方法从调用到执行完毕,对应一个栈帧在虚拟机栈中的入栈和出栈。
2. 堆
线程共享;被所有线程共享的一块内存区域,在虚拟机启动时创建,用于存放对象实例。
3. 方法区
线程共享;被所有线程共享的一块内存区域;用于存储已被虚拟机加载的类信息,常量,静态变量等。
4. 程序计数器
线程私有;是当前线程所执行的字节码的行号指示器,每条线程都要有一个独立的程序计数器,这类内存也称为“线程私有”的内存。
5. 本地方法栈
线程私有;主要为虚拟机使用到的Native方法服务。

上一篇下一篇

猜你喜欢

热点阅读