OOM原因有哪些,如何解决?
首先,OOM 如果通俗点儿说,就是 JVM 内存不够用了。没有空闲内存,而且垃圾回收器也无法提供更多内存。

隐含的意思是在抛出OutOfMemoryError之前,通常垃圾回收器会被触发,尽其所能去清理出空间。

当然也不是在任何情况下垃圾回收器都会触发。比如我们分配一个超大对象,类似一个超大数组超过堆的最大值,JVM会判断垃圾回收并不能解决这个问题,所以直接抛出OutOfMemoryError。

除了程序计数器,其他区域都有可能会因为可能的空间不足产生OutOfMemoryError。总结如下:
  •     堆内存不足是常见的OOM原因之一OutOfMemoryError:Java heap space原因有很多,比如内存泄漏、堆大小设置不足、JVM处理不及时、内存无法释放
  •     Java 虚拟机栈和本地方法栈。比如写一段递归没有跳出条件。会不断压栈。导致StackOverFlowError

拓展阅读:

Java内存各部分OOM出现原因及解决方法(必看)

Hi:
更多面试题==>点我 (很全哦)
精选文章==>点我(读读业界应用博客,面试能加分哦)
编程也能挣钱==>点我
标签: outofmemoryerror、oom、垃圾、回收、超大
欢迎观看一个全栈工程师的视频,全屏体验更好^_^
笔试题


刷题


简历模板


AI算法


大数据


内推


推荐阅读:
阿里巴巴笔试面试大全
腾讯笔试面试大全
百度笔试面试大全
今日头条笔试面试大全
网易笔试面试大全
Google笔试面试大全
更多笔试面试大全