《深入理解Java虚拟机》读书笔记 垃圾回收算法

本文深入解析了垃圾回收算法,包括标记-清除、复制算法、标记-整理和分代收集算法。探讨了各种算法的工作原理、优缺点及其应用场景,特别是在Java虚拟机中的应用。

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

  • 标记-清除算法
    过程,首先标记所有需要进行回收的对象,标记完成后统一清除
    缺陷:
    • 效率低下:标记及清除效率不高
    • 产生大量不连续的内存碎片,难以进行再次分配。
      在这里插入图片描述
  • 复制算法
    过程:将内存分为对等的两部分,每次只使用其中一部分,垃圾回收时,将仍存活的对象复制到另一块区域,同时将原使用内存区域清空。
    • 优点:简单方便运行高效
    • 缺点:只能使用一半内存
      在这里插入图片描述
  • 标记-整理算法
    过程:标记过程和标记清除算法相同,整理过程则将存活的对­象向一端移动,然后清除存活对象占用以外的其他内存空间。
    在这里插入图片描述
  • 分代收集算法收集( Generational Collection)
    依据対象生存周期的不同将内存分为几块,一般把在Java堆分成新生代和老生代,新生代由于对象“朝生夕死”,因此可以使用复制算法,可以尽快完成内存回收;老年代由于对象存活率高,因此使用标记-清理或标记-整理算法进行回收。
    Hot Sopt 虚拟机采用的即为分代收集算法(待续。。。)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值