Explain Java Garbage Collection mechanisms, generational hypothesis, and compare G1GC vs ZGC.
Java Garbage Collection Architecture Mode JVMs use automatic memory management based on the Weak Generational Hypothesis : most allocated objects become unreachable shortly afte...
Java Garbage Collection Architecture
Mode JVMs use automatic memory management based on the Weak Generational Hypothesis: most allocated objects become unreachable shortly after creation (infant mortality).
Heap Memory Generations
Young Generation: Eden space and Survivor spaces (S0, S1). Minor GCs clear dead objects rapidly.
Old (Tenured) Generation: Holds surviving long-lived objects promoted after surviving a threshold of minor GC cycles.
G1GC vs ZGC
G1GC (Garbage-First): Divides heap into equal-sized regions (1MB to 32MB) and collects regions with maximum garbage first. Achieves ~100-200ms pauses.
ZGC (Z Garbage Collector): Low-latency concurrent GC using colored pointers and load barriers. Achieves sub-millisecond (< 1ms) pause times scalable up to 16 Terabytes.
Interviewer Evaluation Points & Scoring Rubric
- 1 Explain trade-offs between memory, CPU, and network latency.
- 2 Identify failure modes, boundary conditions, and scalability bottlenecks.
- 3 Discuss caching strategies, data consistency models, and recovery.