JVM之垃圾收集器回收种类

JVM之垃圾收集器回收种类


目录

  1. 面试常见问题
  2. 串行并行并发G1四大垃圾回收方式
  3. 如何查看默认的垃圾收集器
  4. JVM默认的垃圾收集器有哪些
  5. GC之7大垃圾收集器详解

1. 面试常见问题


  1. GC垃圾回收算法和垃圾收集器的关系?分别是什么请你谈谈
  2. 怎么查看服务器默认的垃圾收集器是那个?生产上如何配置圾收集器的?谈谈你对垃圾收集器的理解?
  3. G1垃圾收集器

1. GC垃圾回收算法和垃圾收集器的关系?分别是什么请你谈谈

GC算法(引用计数/复制/标清/标整)是内存回收的方法论,垃圾收集器就是算法落地实现。
因为目前为止还没有完美的收集器出现,更加没有万能的收集器,只能针对具体应用最合适的收集器,进行分代收集

问题2,3后面慢慢详解


2. 串行并行并发G1四大垃圾回收方式


  1. 串行垃圾回收器(Serial):它为单线程环境设计且只使用一个线程进行垃圾回收,会暂停所有的用户线程。所以不适合服务器环境

  2. 并行垃圾回收器(Parallel):多个垃圾收集线程并行工作,此时用户线程是暂停的,使用于科学计算/大数据处理首台处理等弱交互场景

  3. 并发垃圾回收器(CMS[ConcMarkSweep]):用户线程和垃圾收集线程同时执行(不一定并行,可能交替执行),不需要停顿用户线程,互联网公司多用它,适用对停顿时间有要求的场景

  4. G1垃圾收集器:G1垃圾回收器将堆内存分割成不同的区域然后并发的对其进行垃圾回收

图解:
JVM之垃圾收集器回收种类


3. 如何查看默认的垃圾收集器


  1. 查看默认的垃圾收集器,JVM参数:
    java -XX:+PrintCommandLineFlags -version
    JVM之垃圾收集器回收种类

4. JVM默认的垃圾收集器有哪些


  1. java的gc回收的类型主要有六种,看源码可以清楚知道:UseSerialGC, UseParallelGC, UseParNewGC, UseConcMarkSweepGC, UseParallelOldGC, UseG1GC。
    JVM之垃圾收集器回收种类

5. GC之7大垃圾收集器详解

篇幅限制,请看另一篇博客详解:GC之7大垃圾收集器详解