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 阅读 49 次 更新于 2025-09-11 08:38:09 我来答关注问题0
  •  文暄生活科普 Java GC的种类和实现

    Java 的垃圾回收(Garbage Collection, GC)机制是 Java 语言的一大特性,它负责自动管理内存,包括分配和释放内存。GC 主要涉及垃圾收集算法和垃圾收集器两大部分。以下是 Java GC 的主要种类及其实现方式:垃圾收集算法标记-清除(Mark-Sweep)算法 实现原理:标记阶段:遍历堆内存中的所有对象,通过可达性...

  • 4:分代收集算法 过程:将堆分为新生代和老年代,根据区域特点选用不同的收集算法,如果新生代朝生夕死,则采用复制算法,老年代采用标记清除,或标记整理 面试的话说出来这四种足够了

  •  文暄生活科普 Java GC & GC Viewer

    可达性分析法:从GC Roots出发,如果无法通过GC Roots的引用追踪到的对象,则被视为垃圾。GC Roots包括虚拟机栈中的本地变量、方法区中的静态属性引用、常量引用、本地方法引用等。垃圾回收算法:标记清除法:标记内存中的活对象,然后清除未标记的对象。此方法适合存活对象多、回收对象少的场景,但会产...

  •  赛玖百科小窍门 JVM系列-(七)GC

    引用计数法:给对象添加一个引用计数器,每有一个地方引用它,计数器加一;引用失效则减一。计数器为0的对象即不再被使用。但该方法存在互相引用导致无法回收的问题。可达性算法:通过一系列称为“GC Roots”的对象作为起点,向下搜索形成的引用链。当一个对象到GC Roots没有任何引用链相连时,证明此...

  •  文暄生活科普 Java 可达性分析算法

    Java 垃圾回收(Garbage Collection, GC)算法是 Java 虚拟机(JVM)用于自动管理内存的重要组件。可达性分析算法是垃圾回收过程中的一个关键环节,它决定了哪些对象可以被回收。而具体的垃圾回收算法则决定了如何高效地回收这些对象所占用的内存空间。常见的 Java 垃圾回收算法包括标记-清除(Mark-Sweep)、...

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

Java相关话题

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