java常见gc算法有哪些

4:分代收集算法 过程:将堆分为新生代和老年代,根据区域特点选用不同的收集算法,如果新生代朝生夕死,则采用复制算法,老年代采用标记清除,或标记整理 面试的话说出来这四种足够了
java常见gc算法有哪些
1:标记—清除 Mark-Sweep
过程:标记可回收对象,进行清除
缺点:标记和清除效率低,清除后会产生内存碎片
2:复制算法
过程:将内存划分为相等的两块,将存活的对象复制到另一块内存,把已经使用的内存清理掉
缺点:使用的内存变为了原来的一半
进化:将一块内存按8:1的比例分为一块Eden区(80%)和两块Survivor区(10%)
每次使用Eden和一块Survivor,回收时,将存活的对象一次性复制到另一块Survivor上,如果另一块Survivor空间不足,则使用分配担保机制存入老年代
3:标记—整理 Mark—Compact
过程:所有存活的对象向一端移动,然后清除掉边界以外的内存

4:分代收集算法
过程:将堆分为新生代和老年代,根据区域特点选用不同的收集算法,如果新生代朝生夕死,则采用复制算法,老年代采用标记清除,或标记整理
面试的话说出来这四种足够了2018-01-20
mengvlog 阅读 7 次 更新于 2025-07-19 21:02:19 我来答关注问题0
  • 4:分代收集算法 过程:将堆分为新生代和老年代,根据区域特点选用不同的收集算法,如果新生代朝生夕死,则采用复制算法,老年代采用标记清除,或标记整理 面试的话说出来这四种足够了

  •  翡希信息咨询 Java垃圾回收GC 算法实现:G1算法详解

    四、Remembered Sets与支持小堆区独立回收 Remembered Sets:记录了从外部指向小堆区的引用,作为附加GC根。在并发标记过程中,用于确定对象的存活性。 支持小堆区独立回收:在混合模式下,G1使用Remembered Sets支持小堆区独立回收,减少并发标记与转移暂停时间。五、G1收集器的执行与日志 执行:G1收集器...

  •  翡希信息咨询 gc机制是什么?有哪些特点?

    可达性分析法:通过GC Roots对象作为起点,追踪引用链,未被引用链连接的对象被视为可回收。 标记清除算法:标记所有存活对象后清除不可用的,但效率不高且可能留下内存碎片。 标记复制算法:将内存分为两部分,每次只使用一部分,存活对象复制到另一部分再清除,实现简单且效率高,但内存利用率不...

  •  誉祥祥知识 gc的正确方法

    选择合适的GC算法:Java提供了多种GC算法,如Serial、Parallel Scavenge、CMS和G1等。选择合适的GC算法可以提高GC效率和性能。优化代码:减少不必要的对象创建,及时释放不再使用的对象引用,降低GC压力。监控和调优:使用JVM监控工具监控GC性能,根据需要进行调优。在Python等具有自动内存管理的语言中,GC的...

  •  文暄生活科普 啥操作?阿里专家12张图就让女朋友搞懂了GC全过程?

    在GC过程中,通过可达性分析算法找出可达对象,将它们转移到S0幸存区,此时存活对象年龄+1。接着清除Eden区对象。之后,Eden区和S0幸存区中可达对象再次转移至S1幸存区,对象年龄再次+1,并清除Eden区和S1幸存区中的对象。随着年龄增长,对象可能被晋升到老年代。默认年龄上限为15,可通过-XX:...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部