JVM的垃圾回收机制的文字描述

本文详细介绍了JVM的垃圾回收机制,包括堆栈划分、年轻代与年老代的概念,以及Eden区、From区和To区的作用。通过合理设置各代大小,可以有效减少FullGC的发生。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写图片描述

JVM分代垃圾回收机制:
JVM的内存划分为堆(heap)和堆栈(stack)。堆栈主要用于存储方法参数,局部变量等。堆主要用于存放对象的内存,对象的创建和释放、垃圾回收就在这里进行。
在JVM中,堆栈空间划分为年轻代(Young Generation)和年老代(Old Generation),又将年轻代分为Eden区、From区和To区,新建对象总是在Eden区中进行,如果Eden空间已满,就触发一次Young GC,将还在使用的对象复制到From区,这样整个Eden区就变成未使用状态,可供继续创建对象,当Eden区再次用完,在触发一次Young GC,将Eden区和From区中还在被使用的对象复制到To区,下一次Young GC把Eden区和To区的还在被使用的对象复制到From区。经过多次Young GC,某些对象在From区和To区多次复制,如果超过了某个阈值对象还未被释放,则将该对象复制到Old Generation。如果Old Generation空间也用完,那么会触发Full GC。Full GC对程序影响极大。所以我们需要设置合理的Young Generation和Old Generation大小,以减少Full GC。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值