番外 GC算法

引用计数算法:

  • 最初的算法
  • 现代虚拟机大多已弃用此算法
  • 导致循环引用
  • 效率高

可达性分析算法/根搜索算法:

  • HotSpot
  • GC Roots
    • 虚拟机栈的栈帧的局部变量表所引用的对象
    • 本地方法栈的JNI所引用的对象
    • 方法区的静态变量常量所引用的对象
  • 可达性
  • 图论

什么时候进行垃圾回收:

  • 当 eden 区或者 S 区(包括 s0 和 s1 ,又称 from 和 to 区)不够用时
  • 当老年代不够用时
  • 当方法区不够用时
  • System.gc()

在这里插入图片描述




标记清除算法

  • 先标记(根据可达性分析算法查找)后清除
  • 效率低
  • 内存碎片化
  • Stop the world(STW)

复制算法

  • 效率高(适合回收生命周期短的对象)
  • 浪费空间太严重

标记/整理算法

  • 解决内存碎片化
  • 速度慢
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值