|
Java Version |
Default GC |
Notes / Changes |
|---|---|---|
|
Java 8 |
Parallel GC |
Also called the Throughput Collector. Widely used for server apps. |
|
Java 9 |
G1 GC |
G1 (Garbage-First) becomes the default. Designed for predictable pause times; replaces Parallel GC for most workloads. |
|
Java 10 |
G1 GC |
Same as Java 9. |
|
Java 11 (LTS) |
G1 GC |
G1 remains default. Introduced ZGC as experimental. |
|
Java 12 |
G1 GC |
ZGC experimental improvements; Parallel GC still available. |
|
Java 13 |
G1 GC |
No change in default. |
|
Java 14 |
G1 GC |
G1 continues as default. Shenandoah introduced (RedHat), still not default. |
|
Java 15 |
G1 GC |
ZGC becomes production-ready, but default stays G1. |
|
Java 16 |
G1 GC |
Minor ZGC improvements; default still G1. |
|
Java 17 (LTS) |
G1 GC |
G1 default; ZGC stable. Newer features added to ZGC. |
|
Java 18 |
G1 GC |
No change. |
|
Java 19 |
G1 GC |
ZGC enhancements continue; default remains G1. |
|
Java 20 |
G1 GC |
G1 default; experimental ZGC features. |
|
Java 21 (LTS) |
G1 GC |
Generational ZGC introduced (but G1 still default). |
|
Java 22 |
G1 GC |
Generational ZGC available; G1 default. |
|
Java 23 |
G1 GC |
No change. |
|
Java 24 |
G1 GC |
G1 remains default; ZGC continues to improve. |
|
Java 25 (LTS) |
G1 GC |
G1 default; Generational ZGC production-ready. |