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

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

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

1.方法区(Method Area)

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

2.堆(Heap)

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

3.虚拟机栈(JVM Stack)

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

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

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

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

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

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

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

相关推荐
naruto_lnq26 分钟前
Python生成器(Generator)与Yield关键字:惰性求值之美
jvm·数据库·python
爱学习的阿磊1 小时前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
m0_561359671 小时前
使用PyQt5创建现代化的桌面应用程序
jvm·数据库·python
2301_790300961 小时前
用Python实现自动化的Web测试(Selenium)
jvm·数据库·python
m0_748233171 小时前
C#与C语言:5大核心语法共性
java·jvm·算法
码云数智-园园1 小时前
超越引用:深入理解 C# 中的指针、引用与内存操作
jvm
m0_561359671 小时前
使用Docker容器化你的Python应用
jvm·数据库·python
小北方城市网2 小时前
Spring Boot 多数据源与事务管理实战:主从分离、动态切换与事务一致性
java·开发语言·jvm·数据库·mysql·oracle·mybatis
u0109272712 小时前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python