jvm的内存区域

本文探讨了JVM的运行时数据区域,包括堆、程序计数器、方法区、虚拟机栈和本地方法栈等,并强调了内存结构在JVM中的核心地位。同时提到了垃圾回收、性能调优和类加载等关键概念,这些都与内存管理密切相关。直接内存虽不属于标准运行时数据区,但在实际操作中也扮演着重要角色。

***JVM 的知识体系中内存结构是“C位”***,所以我们学习的时候需要特别关注, 其他如垃圾回收,性能调优,类加载等,所有的知识体系都跟内存结构有关。
image.png

#运行时数据区域
运行时数据区的定义:Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域 Java 引以为豪的就是它的自动内存管理机制。相比于 C++的手动内存管理、复杂难以理解的指针等,Java 程序写起来就方便的多。 所以要深入理解 JVM 必须理解内存虚拟化的概念。 在 JVM 中,JVM 内存主要分为堆、程序计数器、方法区、虚拟机栈和本地方法栈等。 同时按照与线程的关系也可以这么划分区域:
线程私有区域:一个线程拥有单独的一份内存区域。
线程共享区域:被所有线程共享,且只有一份。 这里还有一个直接内存,这个虽然不是运行时数据区的一部分,但是会被频繁使用。你可以理解成没有被虚拟机化的操作系统上的其他内存(比如操作 系统上有 8G 内存,被 JVM 虚拟化了 3G,那么还剩余 5G, JVM 是借助一些工具使用这 5G 内存的,这个内存部分称之为直接内存
image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT三明治

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值