后端岗位面试题更新 2026-08-05

现在有一个很大的List,大概有几百万条数据,查看堆空间有500MB,但执行程序报错,提示没有30MB可用空间,这是什么原因,以及解决办法?

北京经纬恒润科技股份有限公司后端开发专业服务技术原理问题排查Java

考察说明

考察对Java堆内存分配、大对象产生与空间碎片化原因的分析能力

回答思路

  1. 能指出最可能原因是单个分配请求(如扩容)需要连续内存而剩余空间不足
  2. 能解释堆空间总量不等于可用连续空间,存在碎片化或已分配对象占位
  3. 能提出降低扩容峰值、分批处理或调整JVM参数的解决方案