当前位置:家常菜>百科>科技>正文

outofmemoryerror怎么解决

人气:471 ℃/2025-02-17 10:03:38

outofmemoryerror怎么解决呢?下面就让我们一起来了解一下吧:

outofmemoryerror也就是内存溢出,在java法中比较常见,出现这种一般是有两种比较常见的情况。

1、

OutOfMemoryError:PermGen 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、

OutOfMemoryError:Java heap space

发生这种问题的原因也可能是因为java虚拟机创建的对象太多了,在进行垃圾回收之间,虚拟机所分配的到堆内存空间已经用满了,也就是与Heap space有关。

若是想要解决这个问题一般也会有两种方法:

1.首先可以检查一下程序,查看是否有死循环或者不必要地重复创建大量对象,在找到原因之后,可以修改程序与算法。

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

比如:set JAVA_OPTS= -Xms256m -Xmx1024m

当然,具体还是要根据实际情况来,要确定好问题所在然后选择正确的方式来解决即可。

  • 辉昂后排可以进入后备箱吗

    大众辉昂后排座椅由于厂家设定不能够放倒,因此辉昂无法从后排进入后备箱。大众辉昂的主驾驶座位可以对座椅位置、腰部支撑以及靠背进行调整,调整开关位于座位左侧。大众辉昂的前排座椅可以...

    问答查看全文>>
  • 无锡国资企龙头股票排行榜 无锡国资概念股龙头一览表

    为您整理了无锡国资企龙头股票排行榜,分别有华光环能威孚高科、太极实业,告诉您无锡国资概念股龙头一览表的详细景点,供您参考选择。华光环能无锡华光环保能源集团股份有限公司主营业务围...

    品牌查看全文>>
  • 加氢站投资多少钱?建一个加氢站的投资有多大

    建一个加氢站的投资为1200至1800万元,平均单座投资规模1500万元。其中设备采购费用占总投资的60-80%,主要原因在于核心部件仍然依赖进口,但随着产业化的快速推进,未来...

    问答查看全文>>
  • 汽车后座锁扣更换步骤

    汽车后座锁扣更换步骤:用工具将锁扣上的两片塑料卡子分开,将U形钢圈从锁扣中拉出。将大一点的螺丝刀插进锁扣内,并把二块小锁扣展开,就可以将后座垫抬起。后座拆装是一项技术活,用力过...

    问答查看全文>>
  • 说说心情搞笑

    1、自己的媳妇哄着惯着不丢人,这叫爱。2、有种鸟出生就没有脚从出生就开始飞一生只落下一次便是死亡的时候,后来才知道原来这只鸟的名字叫愤怒的小鸟。3、原谅学渣的我盛装出席,手握水...

    说说查看全文>>
本网站部分内容、图文来自于网络,如有内容侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2007-2024 家常菜 All Rights Reserved. 手机版