首页 > 代码库 > JAVA中java.lang.OutOfMemoryError常见的解决方式
JAVA中java.lang.OutOfMemoryError常见的解决方式
在开发中我们很多人都遇到过内存溢出的情况,其实内存溢出分几种形式:
1、tomcat中java.lang.OutOfMemoryError: PermGen space异常处理(最常见的)
概念大家可以查查,其实大家还是关心解决方案:
解决方法:
(1)
手动设置MaxPermSize大小修改TOMCAT_HOME/bin/catalina.sh在
echo "Using CATALINA_BASE: $CATALINA_BASE"
上面加入以下行:
JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
(2)在eclipse中修改tomcat配置:
增加:-Xms256M -Xmx1024M -XX:PermSize=64M -XX:MaxPermSize=128M
2、java.lang.OutOfMemoryError: Java heap space
发生这种问题的原因是java虚拟机创建的对象太多,在进行垃圾回收之间,虚拟机分配的到堆内存空间已经用满了,与Heap space有关。解决这类问题有两种思路:
1. 检查程序,看是否有死循环或不必要地重复创建大量对象。找到原因后,修改程序和算法。
2. 增加Java虚拟机中Xms(初始堆大小)和Xmx(最大堆大小)参数的大小。如:set JAVA_OPTS= -Xms256m -Xmx1024m
1. 检查程序,看是否有死循环或不必要地重复创建大量对象。找到原因后,修改程序和算法。
2. 增加Java虚拟机中Xms(初始堆大小)和Xmx(最大堆大小)参数的大小。如:set JAVA_OPTS= -Xms256m -Xmx1024m
总结:内存的处理,是对于一个开发者良好开发习惯的考验,多年的开发过程,让我知道了,开发大神高手不是有多牛的技术,是对好的开发习惯一种养成,细节决定成败!
JAVA中java.lang.OutOfMemoryError常见的解决方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。