started • Resized for each epoch to be between -XX:G1NewSizePercent (default 5) and -XX:G1MaxNewSizePercent (default 60) • All new objects are allocated in Eden, except Humongous objects • Empty at the beginning of each epoch
at least one epoch • Survivor To is allocated but empty during the epoch • Each object in survivor has a counter for the number of epochs survived • Objects surviving long enough get promoted to Tenured • Survivor To space is resized as a ratio (-XX:SurvivorRatio, default 8) of the current Eden size
a power of two between 1MB - 32MB, inclusive • If not explicitly set on the command line via -XX:G1HeapRegionSize=#m, the region size will be set such that there are the optimal 2k or more regions on startup
Survivor To • Mixed: Minor + (# reclaimable Tenured regions / -XX:G1MixedGCCountTarget) regions of Tenured • Full GC: All regions evacuated • Minor/Mixed + To-space exhaustion: Minor/Mixed + rollback + Full GC