Most objects die young. The JVM exploits this by collecting the young generation frequently (fast minor GCs) and promoting long‑lived objects to the old generation, which is collected less often. This improves throughput and pause times.