7.1.1 内存池与对象复用:减少 GC 与分配压力 在 Java 世界里,我们常把 GC 比作一位沉默的园丁——它不声不响地修剪枯枝败叶,却总在最不该出现的时刻,悄然停顿三秒,让整个应用屏住呼吸。一次 Young GC 可能只耗时 12ms,可若每秒触发 8 次,那便是 96ms 的有效吞吐损耗;而一次 Full GC 若拉长至 380ms,对一个延迟敏感的风控决策服务而言,已足够错过一笔实时授信请求。更残酷的是:GC 不是瓶颈,而是症状;对象频繁分配与丢弃,才是病灶本身。 真正有经验的工程师不会坐等 G1 或 ZGC 来“兜底”,而是从源头掐断对象诞生的冲动——不是不让对象活,而是让它们活得久一点、复用多一点、死去轻一点。