• 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

    总结:内存的处理,是对于一个开发者良好开发习惯的考验,多年的开发过程,让我知道了,开发大神高手不是有多牛的技术,是对好的开发习惯一种养成,细节决定成败!

    
    
  • 相关阅读:
    js--事件--事件代理
    bind call apply 的区别和使用
    自己手动用原生实现bind/call/apply
    HLSL GLSL CG着色语言比较
    AABB和OBB包围盒简介
    BSTR LPSTR LPWSTR CString VARIANT COleVariant variant t CC
    UE4蓝图简介
    3D MAX脚本原理
    VC中GetLastError 获取错误信息的使用
    最强偏振3D播放器TriDef 3D安装+全格式播放配置
  • 原文地址:https://www.cnblogs.com/xwgcxk/p/7338005.html
Copyright © 2020-2023  润新知