【大数据Java基础- JVM 11】运行时数据区(六)方法区

本文详细探讨了Java虚拟机中的方法区,包括它与栈、堆的关系、理解方法区的逻辑位置、设置方法区大小与可能出现的OOM异常、内部结构以及垃圾回收。在JDK的不同版本中,方法区经历了从永久代到元空间的演变,讨论了其调整的原因和目的。此外,文章还介绍了方法区的垃圾收集,特别是废弃常量和不再使用的类型的回收条件。
摘要由CSDN通过智能技术生成

1. 栈、堆、方法区关系交互

运行时数据区结构图:

image.png

从线程共享与否的角度来看:

image.png

image.png

2. 方法区的理解

2.1 方法区在哪里?

《Java虚拟机规范》中明确说明:“尽管所有的方法区在逻辑上属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。”但对于HotSpotJVM而言,方法区还有一个别名叫做Non-heap(非堆),目的就是要和堆分开。

所以,方法区可以看作是一块独立于Java堆的内存空间。

2.2 方

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王知无(import_bigdata)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值