outofmemoryerror怎么解决
outofmoryerror怎么解决呢?下面就让我们一起来了解一下吧
outofmoryerror也就是内存溢出,在java法中比较常见,出现这种一般是有两种比较常见的情况。
1、
OutOfMemoryErrorPermGen space
这种情况出现可能是因为在程序中使用了大量的jar或者class,从而导致java虚拟机装载类的空间不够,也就是与Permanent Generation space有关。
若是想要解决一般有两种方法
1.第一种是可以增加java虚拟机中的XX:PermSize和XX:MaxPermSize参数的大小,其中XX:PermSize是属于初始永久保存区域大小,而XX:MaxPermSize则是最大永久保存区域大小。
比如针对tomcat6.0,在catalina.sh或者catalina.bat文件中一系列环境变量名说明结束处,即在70行左右的位置上增加一行,具体是
JAVA_OPTS=" -XX:PermSize=64M -XX:MaxPermSize=128m"
若是windows服务器还能够在系统环境变量中设置。使用tomcat发布sprint+struts+hibernate架构的程序时可能会很容易发生这种内存溢出的错误。可以使用上述的方法,基本上就能够解决问题。
2.第二种方法是清理应用程序中web-inf/lib下的jar,若是tomcat部署了多个应用,并且多个应用都使用了相同的jar,可以选择将共同的jar移到tomcat共同的lib下,减少类的重复加载。这种方法还是不错的,若是可以选择的话还是尽量使用第一种方法会比较好。
2、
OutOfMemoryErrorJava heap space
发生这种问题的原因也可能是因为java虚拟机创建的对象太多了,在进行垃圾回收之间,虚拟机所分配的到堆内存空间已经用满了,也就是与Heap space有关。
若是想要解决这个问题一般也会有两种方法
1.可以检查一下程序,查看是否有死循环或者不必要地重复创建大量对象,在找到原因之后,可以修改程序与算法。
2.还可以选择增加Java虚拟机中Xms(即初始堆大小)与Xmx(即最大堆大小)参数的大小。
比如set JAVA_OPTS= -Xms256m -Xmx1024m
,具体还是要根据实际情况来,要确定好问题所在然后选择正确的方式来解决即可。
以上就是小编的分享了,希望能够帮助到大家。
生活小妙招
- 杭州市小客车总量调控管理暂行规定
- 个人所得税退税的条件和标准 下载个人所得税
- 江苏省南通市通州区天气 江苏省南通通州区天气
- 夫妻有按揭的房子离婚怎么办 夫妻有按揭的房子
- 山东省青岛市市北区天气 山东省青岛市市北区天
- 什么财产离婚后不用分割 什么财产离婚后不用分
- 工伤认定必须满足三个条件 工伤认定申请必须满
- 家暴出轨不受离婚冷静期限制 家暴不适用离婚冷
- 武夷山一周天气预报 武夷山一周天气预报15天准
- 怎么与孩子沟通最有效方法 怎么与孩子沟通的技
- 女方提出离婚财产怎么分割 女方提出离婚财产怎
- 华东五市天气预报 华东五市的天气
- 深圳车辆违章记录查询 深圳车辆违章记录查询
- 老公铁了心要离婚还能挽回吗 老公铁了心离婚的
- 怎么计算工伤十级的赔偿金 工伤十级赔偿计算公
- 武汉天气预报15天气报 武汉天气预报15天