JEP 248: Make G1 the Default Garbage Collector

OwnerStefan Johansson
Created2015/02/16 19:58
Updated2016/10/10 16:15
TypeFeature
StatusCompleted
Componenthotspot / gc
ScopeJDK
Discussionhotspot dash dev at openjdk dot java dot net
EffortM
DurationM
Priority2
Reviewed byMikael Vidstedt
Endorsed byMikael Vidstedt
Release9
Issue8073273

Summary

Make G1 the default garbage collector on 32- and 64-bit server configurations.

Motivation

Limiting GC pause times is, in general, more important than maximizing throughput. Switching to a low-pause collector such as G1 should provide a better overall experience, for most users, than a throughput-oriented collector such as the Parallel GC, which is currently the default.

Many performance improvements were made to G1 in JDK 8 and its update releases, and further improvements are planned for JDK 9. The introduction of concurrent class unloading (JEP 156) in JDK 8u40 made G1 a fully-featured garbage collector, ready to be the default.

Description

Changing the default collector is straightforward.

Risks and Assumptions