GC介绍之引用计数法

JVM在进行GC时,并不是对这三个区域统一回收,大部分时候,回收都是新生代~

  • 新生代
  • 幸存区
  • 老年区
    GC两种类:轻GC(普通的GC),重GC(全局GC)

GC面试题:

  • JVM的内存模型和分区~详细到每个区放什么?
  • 堆里面的分区有哪些?Eden , from ,to ,老年区 ,说说他们的特点?
  • GC的算法有哪些?标记清除法,标记压缩,复制算法,引用计数器,怎么用的?
  • 轻GC和重GC分别在什么时候发生?

引用计数法:
在这里插入图片描述
把使用0次的对象GC掉!

复制算法

在这里插入图片描述
如果两个幸存区都有一个,就将其中一个复制给另一个,空的为to,必须确保其中一个为空。
在这里插入图片描述

  • 好处:没有内存碎片~
  • 坏处:浪费了内存空间,多了一半空间永远是空to,假设对象100%存活(极端情况)
    复制算法最佳使用场景:对象存活率较低的时候:新生区~

标记清除压缩算法
在这里插入图片描述
多几次标记清除,再压缩

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Marlboro~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值