gc触发机制

本文详细介绍了Java中的垃圾收集(GC)机制,包括如何在程序中调用System.gc()触发GC,以及系统如何根据内存使用情况自动决定GC的时机。主要讨论了MinorGC和FullGC两种类型,明确了它们各自的触发条件,如Eden区满、老年代空间不足等。理解这些概念对于优化Java应用的性能至关重要。

(1)程序调用System.gc时可以触发

(2)系统自身来决定GC触发的时机(根据Eden区和From Space区的内存大小来决定。当内存大小不足时,则会启动GC线程并停止应用线程)

GC又分为 minor GC 和 Full GC (也称为 Major GC )

​ 1、Minor GC触发条件:

​ 当Eden区满时,触发Minor GC。

​ 2、Full GC触发条件:

	a.调用System.gc时,系统建议执行Full GC,但是不必然执行

	b.老年代空间不足

	c.方法去空间不足

	d.通过Minor GC后进入老年代的平均大小大于老年代的可用内存

	e.由Eden区、From Space区向To Space区复制时,对象大小大于To Space可用内存,则把该对象转存到老年代,且老年代的可用内存小于该对象大小
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值