如何解决java.lang.OutOfMemoryError
2个回答
展开全部
内存溢出常见的有两种情况
一种是直接的无限循环 , 运算量过大 , 把内存跑满了 , 这种情况一般是测试或者bug引起的 , 如果是正常业务引起的 , 就只能加内存了
第二种是由内存泄漏导致的 , 比如声明了比多大对象 , 比如大集合或者数组 , 使用完毕后 , 由于其他地方依然有依赖 (比如放在静态Map中之类的 ), 导致GC判断不是垃圾对象, 没有及时回收 , 这部分内存就泄漏了 , 一直处于占用状态 , 然后滚雪球 , 越来越多 , 就会造成内存溢出 , 这种情况比较麻烦 , 要慢慢查找了
纯手打 , 望采纳
一种是直接的无限循环 , 运算量过大 , 把内存跑满了 , 这种情况一般是测试或者bug引起的 , 如果是正常业务引起的 , 就只能加内存了
第二种是由内存泄漏导致的 , 比如声明了比多大对象 , 比如大集合或者数组 , 使用完毕后 , 由于其他地方依然有依赖 (比如放在静态Map中之类的 ), 导致GC判断不是垃圾对象, 没有及时回收 , 这部分内存就泄漏了 , 一直处于占用状态 , 然后滚雪球 , 越来越多 , 就会造成内存溢出 , 这种情况比较麻烦 , 要慢慢查找了
纯手打 , 望采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询