G1垃圾收集算法主要应用在多CPU大内存的服务中,在满足高吞吐量的同时,竟可能的满足垃圾回收时的暂停时间,该设计主要针对如下应用场景:

  • 垃圾收集线程和应用线程并发执行,和CMS一样
  • 空闲内存压缩时避免冗长的暂停时间
  • 应用需要更多可预测的GC暂停时间
  • 不希望牺牲太多的吞吐性能
  • 不需要很大的Java堆

JVM 源码分析02 G1垃圾回收

JVM 源码分析02 G1垃圾回收

JVM 源码分析02 G1垃圾回收

GC模式

G1中提供了三种模式垃圾回收模式,young gc、mixed gc 和 full gc,在不同的条件下被触发。

JVM 源码分析02 G1垃圾回收

JVM 源码分析02 G1垃圾回收

JVM 源码分析02 G1垃圾回收

JVM 源码分析02 G1垃圾回收

full gc

如果对象内存分配速度过快,mixed gc来不及回收,导致老年代被填满,就会触发一次full gc,G1的full gc算法就是单线程执行的serial old gc,会导致异常长时间的暂停时间,需要进行不断的调优,尽可能的避免full gc.

 

相关文章:

  • 2021-06-17
  • 2021-05-01
  • 2021-11-22
  • 2021-08-27
  • 2021-04-22
  • 2021-11-21
  • 2021-07-05
  • 2021-11-18
猜你喜欢
  • 2021-12-30
  • 2021-07-03
  • 2021-08-01
  • 2021-10-14
  • 2021-08-29
  • 2021-09-29
相关资源
相似解决方案