Minor GC,JVM年轻代中垃圾回收的过程

最近在看周志朋的深入理解JVM,刚学到垃圾回收算法,结合其他博客的理解,以及书中的说明,自己绘制了流程图,如下
流程

堆Heap

一个JVM只有一个堆内存,堆内存大小可调节。
堆中存放实例化的对象
1.Young年轻代(1/3):对象诞生、成长甚至死亡的区

	Eden Space(伊甸园区)8:所有的对象都是在此new出来的(如果新创建的对象占用内存很大,
	直接分配到老年代),当Eden区内存不够就会触发MinorGC,对新生代进行一次垃圾回收。
	
	Survivor Space(幸存区):
		幸存0区(From Space)1:上一次GC的幸存者,作为这一次的GC的被扫描者
		幸存1区(To Space)1:保留了一次MinorGC过程中的幸存者。
		动态的,From和To会互相交换

Appel式回收

• 把新生代分为一块较大的Eden空间和两块较小的Survivor空间
• 每次分配内存只使用Eden和其中一块Survivor
• 发生垃圾搜集时,将Eden和Survivor中仍然存活的对象一次性复制到另外一块Survivor空间上
• 然后直接清理掉Eden和已用过的那块Survivor空间。
• 当Survivor空间不足以容纳一次MinorGC之后存活的对象,就需要依赖其他内存区域(老年代)进行分配担保
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值