在本讲中我们将解析垃圾回收器(
GC)在
JVM 中如何工作,经典的
Serial/
Parallel/
CMS 与现代的
G1、
ZGC 和
Shenandoah 有何不同,什么是Young Generation与Old Generation,为什么会发生
Stop-the-World Pause以及如何将其最小化。实践中我们将看到如何通过标志启用不同的 GC(
-XX:+UseG1GC、
-XX:+UseZGC、
-XX:+UseShenandoahGC),如何设置Pause(
-XX:MaxGCPauseMillis)与堆大小(
-Xms/
-Xmx),如何阅读日志(
-Xlog:gc*)以及如何避免常见错误(例如强制调用
System.gc())。