8、G1垃圾收集器

Scroll Down

大纲

image-1662989547988

以前收集器特点

image-1662989568670

G1是什么

image-1662989587209
image-1662989596633

  • 特点
    image-1662989659737

底层原理

image-1662989676987

  • Region区域化垃圾收集器
    image-1662989694653
    image-1662989721900
    • image-1662989752032
  • 回收步骤
    image-1662989783826
  • 4步过程
    image-1662989793496

case案例

image-1662989858698

常用配置参数(了解)

image-1662989882116

  • -XX:+UseG1GC
  • -XX:G1HeapRegionSize=n:
    • 设置的G1区域的大小。值是2的幂,范围是1MB到32MB。目标是根据最小的Java堆大小划分出约2048个区域。
  • -XX:MaxGCPauseMills=n:
    • 最大GC停顿时间,这个是软目标,JVM将尽可能(但不保证)停顿小于这个时间
  • -XX:InitiatingHeapOccupancyPercent=n:
    • 堆占用了多少的时候就触发GC,默认为45
  • -XX:ConcGCThreads=n:
    • 并发GC使用的线程数
  • -XX:G1ReservePercent=n:
    • 设置作为空闲空间的预留内存百分比,以降低目标空间溢出的风险,默认是10%

和CMS相比的优势

image-1662990011912

小总结

image-1662990032102