常见堆内存溢出OOM的几种情况
一。常见堆内存溢出的几种情况:
1.查询数据库返回的数据量过大,加载到内存中导致内存溢出;
2.代码中出现死循环情况,导致大对象一直被引用不能被GC回收;
3.资源链接池、io流在使用完没有进行手动释放;
4.静态集合类里面存在引用对象,始终存在引用关系,没有进行清除;
以上属于常见的几种堆内存溢出的场景,当然有时候我们的遇到的问题都是稀奇古怪的问题,常见的问题总是很少能遇到.
二。堆内存空间不足:意味着程序存在一直有引用的对象(强引用),主要对象在引用的状态就无法被GC回收,撑爆了-Xmx堆拓展的最大值,内存不足自然就会触发堆内存溢出。