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

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

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

1.方法区(Method Area)

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

2.堆(Heap)

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

3.虚拟机栈(JVM Stack)

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

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

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

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

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

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

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

相关推荐
wuqingshun3141591 小时前
如何停止一个正在退出的线程
java·开发语言·jvm
AMoon丶6 小时前
C++模版-函数模版,类模版基础
java·linux·c语言·开发语言·jvm·c++·算法
Coder_Boy_8 小时前
分布式系统核心技术完整梳理(含分库分表、分布式事务、熔断补偿)
jvm·分布式·spring·中间件
wuqingshun31415913 小时前
说说java中实现多线程有几种方法
java·开发语言·jvm
light blue bird13 小时前
MES/ERP报表大致化元素组排类查询
jvm·数据库·.net·ai大数据
ldj202013 小时前
Arthas常用方式
jvm·arthas
星辰_mya14 小时前
分布式锁:跨 JVM 的“工商局备案章”
jvm·分布式·面试
星辰_mya16 小时前
线上故障排查实战经验总结一
java·开发语言·jvm·面试
填满你的记忆16 小时前
JVM 内存模型详解:Java 程序到底是如何运行的?
java·开发语言·jvm
Coder_Boy_16 小时前
分布式系统“三高”与数据一致性核心实践(基于实操梳理)
java·jvm·spring boot·分布式·微服务·性能优化