2 qq 33815671 qq_33815671 于 2016.03.05 20:41 提问

请问内存溢出有哪些情况,又该怎么解决

想问一下,内存溢出有哪些情况,又该怎么解决呢???图片说明图片说明

3个回答

caozhy
caozhy   Ds   Rxr 2016.03.05 21:03

(1)内存不足,你申请内存,系统中可用内存不足,没法分配,你需要优化算法
(2)内存泄漏,使用了内存,没有回收,特别是C++等需要手工释放的语言写的程序。表现为程序运行时间越长,内存越少,直到崩溃
(3)堆栈溢出,递归深度过大,或者无限递归,也可能是算法太复杂,需要优化
(4)内存越界,访问数组,下标越界,导致访问异常

WinsenJiansbomber
WinsenJiansbomber   2016.03.05 22:10

最常见的举出就是使用指针操作的地方

yy945313059
yy945313059   2016.03.05 22:16

你这个是android端的内存溢出吗

yy945313059
yy945313059 回复yy945313059: 有很多啊:图片加载,线程使用,数据库查询,流的使用,上下文多次使用等
2 年多之前 回复
qq_33815671
qq_33815671 嗯哪!
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Jvm内存溢出的几种情况
关于Jvm内存溢出的几种情况
常见的内存溢出的三种情况
常见的内存溢出的三种情况: 1)JVM Heap(堆)溢出:java.lang.OutOfMemoryError: Java heap space JVM在启动的时候会自动设置JVM Heap的值, 可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap的大小是Young Generation 和Tenured Generaion 之和。在JVM中如果98%的时间
内存溢出(OOM)and内存泄露---及其解决
那么问题来了什么是内存溢出out of memory?(OOM)已有数据超出其分配内存所能存储的范围 比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。什么是内存泄露memory leak? 指程序在申请内存后,无法释放已申请的内存空间,他们到底啥关系?一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致ou
C++中内存泄漏的几种情况
在类的构造函数和析构函数中没有匹配的调用new 和delete函数 两种情况下会出现这种内存泄露:一是在堆里创建了对象占用了内存,但是没有显示地释放对象占用的内存;二是在类的构造函数中动态的分配了内存,但是在析构函数中没有释放内存或者没有正确的释放内存。 没有正确地清除嵌套的对象指针 在释放对象数组时在delete中没有使用方括号 方括号是告诉编译器这个指针指向的是一个对象数组,
常见Java内存溢出与解决方法详解
Java programming language具有目前大部分编程语言所共有的一些特征,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的"形式和感觉",但它要比C++语言更易于使用,而且在编程时彻底采用了一种"以对象为导向"的方式。使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程
对JVM中可能出现内存溢出(OOM)情况的整理
前一段时间看了一本书《深入理解java虚拟机》,对JVM有了一定的认识... 这篇文章主要是对java程序运行在JVM上可能产生内存溢出(OOM)的情况进行整理... 在这里引言书中作者一句话 “希望读者在工作中遇到实际的内存溢出异常时,能根据异常的信息快速判断是哪个区域的内存溢出,知道什么样的代码可能会导致这些区域内存溢出,以及出现这些异常后该如何 处理” 所以,
JVM内存溢出的几种情形
java虚拟机规范定义了两种异常与栈空间有关:StackOverflowError和OutOfMemoryError 线程计算过程中 栈深度>最大可用栈深度 抛出StackOverflowError 如果栈可以动态扩展,如果扩展过程中没有足够内存空间支持会抛出OutOfMemoryError -Xss设置栈大小,栈大小决定了函数调用的可达深度 public class Test
开发中内存溢出问题及解决
原文地址:http://www.cnblogs.com/yangyi1024/p/6417874.html 内存溢出的解决思路 内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。    引起内存溢出的原因有很多种,常见的有以下几种:   1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;   2.集合类
Java在什么情况下会内存溢出?
个人觉得,由于有GC,大多数情况下,不会出现。但是,如果某些资源没有关闭(例如I/O文件和数据库连接没有关闭),就有可能出现 out of Memory的情况。以上,只是个人的经验作出的结论。 以下是摘自:http://calvin.javaeye.com/blog/91903,对于java内存泄漏的总结内存泄漏    java 不是有垃圾收集器了吗?怎么还泄漏??   嗯,此
android中常见的内存溢出和解决办法
 android中的内存溢出估计大多数人在写代码的时候都出现过,其实突然觉得工作一年和工作三年的区别是什么呢,其实干的工作也许都一样,产品汪看到的结果也都一样,那区别就是速度和质量了。 写在前面的一点儿想法:工作做完了其实不会的还有很多,每天都有莫名的危机感,从真正写代码的这一年多总觉得自己的学习速度比别人的慢很多 内存溢出是什么鬼? 当某些对象不再被程序所使用,但是这些对象仍