zoukankan      html  css  js  c++  java
  • java中的内存溢出和内存泄漏

    转:http://outofmemory.cn/c/java-outOfMemoryError

    内存溢出和内存泄漏定义:

    内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;

    内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。

    memory leak会最终会导致out of memory!

    java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小、程序不严密,产生了过多的垃圾。

    导致OutOfMemoryError异常的常见原因有以下几种:

    内存中加载的数据量过于庞大,如一次从数据库取出过多数据;
    集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;
    代码中存在死循环或循环产生过多重复的对象实体;
    使用的第三方软件中的BUG;
    启动参数内存值设定的过小;
    此错误常见的错误提示:

    tomcat:java.lang.OutOfMemoryError: PermGen space
    tomcat:java.lang.OutOfMemoryError: Java heap space
    weblogic:Root cause of ServletException java.lang.OutOfMemoryError
    resin:java.lang.OutOfMemoryError
    java:java.lang.OutOfMemoryError

  • 相关阅读:
    google搜索的使用小窍门
    openssl的使用
    vi vim 的使用
    nfs
    setfacl命令的使用
    JAVA记录
    Yapi基本使用
    Yapi部署
    Mysql问题记录
    Spring boot+MYSQL多数据源
  • 原文地址:https://www.cnblogs.com/heishuichenzhou/p/10609093.html
Copyright © 2011-2022 走看看