开篇:谁在帮 Java 程序"打扫卫生"?
在 C/C++ 的世界里,程序员就像自己租了一间房子——用完的东西必须自己扔,忘了扔就会"垃圾堆满屋"(内存泄漏)。Java 则像住进了带物业的小区,有一支叫做 GC(Garbage Collector) 的保洁团队在后台自动帮你收拾——你只管制造垃圾(创建对象),保洁会定期来清理不再使用的对象,释放内存。
但"自动"不等于"不需要了解"。生产环境中的 GC 调优、OOM 排查、STW 卡顿分析,都要求你对垃圾回收机制有深入的理解。很多语言都有 GC 机制(Java、C#、Go、Python、JavaScript、Kotlin 等),但 Java 的 GC 体系可以说是最复杂、最成熟的。
大约 32 分钟