从Java 17升级至Java 21后,字符串常量池行为引发内存占用增加问题求助
从Java 17升级至Java 21后,字符串常量池行为引发内存占用增加问题求助
最近我们团队把项目从Java 17升级到Java 21之后,遇到了一个头疼的问题——内存消耗莫名涨了不少。我特意做了堆转储,对比分析前后的内存差异后,发现内存里居然存了好几千个空字符串,这应该就是内存占用上升的关键原因。
我还成功用下面这段代码复现了这个问题:
import java.lang.management.ManagementFactory; import java.text.DecimalFormat; public class DecimalFormating { static DecimalFormat decimalFormat = new DecimalFormat("#.##"); }
备注:内容来源于stack exchange,提问作者Voy
相关产品推荐
相关产品推荐

