JVM的内存区域是怎么划分的?

JVM的内存区域指的是JVM的运行时数据区

主要分为方法区虚拟机栈本地方法栈程序计数器五个主要区域。

1.方法区(Method Area)

线程共享区域,存着类的结构信息、常量、静态变量。

2.堆(Heap)

最大的共享区,专门放对象和数组。

3.虚拟机栈(JVM Stack)

线程私有,存着局部变量、操作数栈、动态链接、方法出口信息、基本类型变量、对象引用。

4.本地方法栈(Native Method Stack)

线程私有,用来分配内存给非Java方法。

类似于虚拟机栈,专为JNI调用本地代码服务。

5.程序计数器(Program Counter Register)

每个线程都有一个独立的程序计数器,线程私有。

保存当前线程执行的Java 方法字节码指令的地方或者行号。

相关推荐
期待のcode3 小时前
认识Java虚拟机
java·开发语言·jvm
leaves falling6 小时前
一篇文章深入理解指针
jvm
linweidong7 小时前
C++ 中避免悬挂引用的企业策略有哪些?
java·jvm·c++
曹轲恒7 小时前
JVM中的直接内存
jvm
BHXDML8 小时前
JVM 深度理解 —— 程序的底层运行逻辑
java·开发语言·jvm
隐退山林9 小时前
JavaEE:多线程初阶(二)
java·开发语言·jvm
期待のcode11 小时前
Java虚拟机堆
java·开发语言·jvm
alonewolf_9920 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
weixin_4657909121 小时前
电动汽车有序充电:电网负荷削峰填谷的新利器
jvm