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

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

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

1.方法区(Method Area)

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

2.堆(Heap)

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

3.虚拟机栈(JVM Stack)

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

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

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

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

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

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

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

相关推荐
wuminyu3 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++
骑着蜗牛撵大象3274 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
tryxr7 小时前
JVM 垃圾回收机制
java·jvm·gc·垃圾回收
我就是不信14 小时前
JVM 调优实战:从排查思路到落地参数
jvm
LMT流氓兔1 天前
第五单元——第十六课:给书店助手加上网页界面
java·开发语言·jvm·人工智能·oracle·langchain·1024程序员节
wuminyu1 天前
Java字节码学习总结:字节码如何加载、解析和执行
java·linux·c语言·jvm·c++
yuniko-n2 天前
【JVM】强、软、弱、虚引用
jvm
01二进制代码漫游日记2 天前
[C++]之内存管理(一)
jvm·c++·学习
明天也要努力学习3 天前
深入理解 JVM 垃圾回收(GC)
java·jvm
铁链鞭策大师3 天前
jvm基础
jvm