美文网首页
面试刷题25:jvm的垃圾收集算法?

面试刷题25:jvm的垃圾收集算法?

作者: 李福春carter | 来源:发表于2020-04-01 14:24 被阅读0次
image.png

垃圾收集是java语言的亮点,大大提高了开发人员的效率。
垃圾收集即GC,当内存不足的时候触发,不同的jvm版本算法和机制都有差别。

我是李福春,我在准备面试,今天的问题是:

jvm的垃圾回收算法有哪些?有哪些垃圾收集器?

答:jvm的垃圾回收首先需要标注出可回收的对象,采用的是可达图算法(从对象出发,绘制出出对象的引用关系图,
当从活动对象出发,在图中不可达的对象即可标注为可回收对象)

jvm的垃圾回收算法有3种,列举如下:
1, 标记清除算法。(即把标注的可回收对象直接清理,这样会带来内存碎片化的问题,而且效率不高);
2,标记整理算法。(即把标注的可回收对象清理,在清理的过程中整理内存,解决了内存的碎片化问题);
3,标记复制算法。(把标注的对象清理,没有清理的对象复制到to区,然后互换引用,解决了内存碎片化的问题,但是需要维护对象关系带来一定代价)

垃圾收集器常见的有如下4种,随着jdk的版本迭代在不断增加。列举如下:
1,serialGC , 即单线程垃圾回收,优点是简单,缺点是会引起stop-the-world的问题,是早期版本的垃圾收集器
2,ParallelGC,即并行垃圾收集器,(新生代,老年代的收集是并行的),适合吞吐量比较的场景;
3,CMSGC,响应时间优先的垃圾收集器,适合web应用,会带来内存碎片化的问题。
4,G1GC,兼顾响应时间和吞吐量的垃圾收集器,才有分区棋盘的方式进行内存整理,是java8的默认垃圾收集器;

垃圾回收的过程

垃圾回收主要集中在两个区域:按照java虚拟机内存模型,即堆区,方法区的元数据区;

堆区垃圾收集过程如下:

1,对象创建后放在堆的新生代的eden区;

2,当内存不足的时候或者周期性的触发minorGC,把没有标记的对象复制到survive区,标记的对象直接回收;

3,jvm的生存周期内不断的循环: 触发minorGC,service区转换为From区,不断的把Eden和From区还存在的对象复制到to区,
并进行整理,防止碎片化;把存在周期超过jvm设置的阈值的对象复制到老年代old区;

4,当真个堆区内存不足的时候,触发fullGC,重新整理eden,from,to,old区,一般会造成系统的处理能力急速下降。

元数据区的垃圾回收:主要是当某些类型不再使用的时候,从元数据区卸载。

小结

本篇回答了垃圾回收的标记算法,垃圾回收的算法,常见的垃圾收集器,垃圾回收的过程。

image.png

原创不易,转载请注明出处。

相关文章

  • 面试刷题25:jvm的垃圾收集算法?

    垃圾收集是java语言的亮点,大大提高了开发人员的效率。垃圾收集即GC,当内存不足的时候触发,不同的jvm版本算法...

  • Jvm之CMS垃圾收集器

      这篇文章主要介绍JVM的CMS垃圾收集器,以及JVM提供的垃圾收集算法。 一、垃圾收集算法   JVM提供的三...

  • JVM学习笔记(3)-垃圾收集算法

    JVM学习笔记(1)-内存管理机制 JVM学习笔记(2)-内存分配与回收 垃圾收集算法 JVM垃圾收集算法有四种:...

  • 常见面试题

    JVM JVM 内存结构 垃圾收集策略与算法记回收,标记清除,复制算法 HotSpot 垃圾收集器 cms hos...

  • JVM Hostspot虚拟机

    jvm HotSpot 虚拟机垃圾收集器、收集算法、收集过程

  • 面试官:谈谈你对JVM垃圾收集器的了解

    本文默认JVM为HotSpot。之前已经介绍过常见的垃圾收集算法,这次再来说说JVM具体实现了这些算法的垃圾收集器...

  • 2020互联网Java后端面试专题解析—JVM21题

    前言 文章对 JVM 内存区域分布、JVM 内存溢出分析、JVM 垃圾回收算法/垃圾收集器、JVM 性能调优工具及...

  • JVM第二弹

    JVM第二弹 GC分代收集算法VS分区收集算法 分代收集算法 当前主流的VM垃圾收集都采用“分代收集“算法,这种算...

  • JVM(八)-垃圾回收机制与垃圾收集器

    JVM垃圾回收(GC)模型 垃圾判断算法 GC算法 垃圾收集器的实现和选择 垃圾判断算法 引用计数法(Refere...

  • JVM

    JVM(1):Java 类的加载机制 JVM(2):JVM内存结构 JVM(3):Java GC算法 垃圾收集器 ...

网友评论

      本文标题:面试刷题25:jvm的垃圾收集算法?

      本文链接:https://www.haomeiwen.com/subject/ybxauhtx.html