海诗网 知识百科 outofmemoryerror怎么解决(outofmemoryerror怎么解决)

outofmemoryerror怎么解决(outofmemoryerror怎么解决)

outofmemoryerror怎么解决, Outofmemoryerror,即内存溢出,在java法律中很常见。发生这种情况有两种常见情况。

1、

OutOfMemoryError错误错误:PermGen空间

出现这种情况可能是因为程序中使用了大量的jar或类,导致java虚拟机加载类的空间不足,这与永久生成空间有关。

如果要解决,一般有两种方式:

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架构的程序时,很容易出现这种内存溢出错误。可以使用上述方法,

基本上可以解决问题。

outofmemoryerror怎么解决

2.第二种方法是清理应用程序中web-inf/lib下的jar。如果tomcat部署了多个应用程序,并且多个应用程序使用同一个jar,那么您可以选择将公共jar移动到tomcat的公共库。

减少类的重复加载。这个方法总体来说还是不错的,当然如果可以选择的话,尽量用第一种方法会更好。

2、

OutOfMemoryError错误:Java堆空间

造成这个问题的原因也可能是java虚拟机创建了太多的对象,虚拟机分配的堆内存空间在垃圾收集之前就已经用完了,这和堆空间有关。

如果要解决这个问题,一般有两种方法:

1.首先,您可以检查程序,看看是否存在无限循环或创建大量不必要的对象。找到原因后,就可以修改程序和算法了。

2.您还可以选择增加Java虚拟机中Xms(初始堆大小)和Xmx(最大堆大小)参数的大小。

比如:set JAVA_OPTS=-Xms256m -Xmx1024m

outofmemoryerror怎么解决

当然,具体情况要根据实际情况而定。要确定问题,然后选择正确的方式去解决。

outofmemoryerror怎么解决,以上就是本文为您收集整理的outofmemoryerror怎么解决最新内容,希望能帮到您!更多相关内容欢迎关注。

本文来自网络,不代表海诗网立场,转载请注明出处:https://m.hallse.com/n/169074.html
发表回复