文档章节

内存溢出与内存泄露

HappyBKs
 HappyBKs
发布于 2015/10/20 11:13
字数 254
阅读 132
收藏 4
点赞 0
评论 0

两者的区别:

内存溢出 (out of memory) : 指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。

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

打个比方说:

内存溢出就是:我向你借钱,你没这么多!我崩溃。

内存泄漏就是:我向你借钱,你有,我不还了,你忍了;我向你借钱,你有,我不还了,你忍了;。。。。;但总有一天,你终归忍无可忍,也会没钱。

 

简单的说:

内存溢出就是分配不能够。

内存溢出就是回收没能够。

 

两者的关系:

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

 

© 著作权归作者所有

共有 人打赏支持
HappyBKs

HappyBKs

粉丝 617
博文 300
码字总数 467954
作品 0
浦东
程序员
java内存分析

Java内存泄露监控工具 http://wenku.baidu.com/view/cb7becb765ce050876321307.html 2. 性能测试总结之内存泄露和内存溢出 http://www.uml.org.cn/Test/200912106.asp 刚刚做完了一个项目的性...

Oscarfff
2015/12/10
153
0
JVM第一篇:一个Java内存泄漏的排查案例

最近在看《深入理解Java虚拟机:JVM高级特性与最佳实践》(第二版)这本书,理论+实践结合,深入浅出,强烈推荐给大家。 这两天在“小怪的java群”里面也对JVM内容进行了一个讨论,讨论的内容...

小怪聊职场
05/31
0
0
outofmemory 的几种情况

1:栈溢出 这个简单理解就是方法运行期间需要分配内存,这类的内存就称之为栈。这类的溢出一般发生在方法的栈太长了,超出了最大深度,或者是超出了内存的。就会爆栈溢出。java 的异常对象为 ...

李雷岗
2016/12/16
2
0
内存溢出和内存泄露

内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内存泄露 memory l...

snowing1990
2016/08/05
16
0
JVM之Java内存区域与内存溢出异常

Java的JVM可以自动管理内存,包括内存动态分配和垃圾收集等。 简介 JVM在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间...

Jeffbond
2017/04/08
0
0
非诚勿扰贴——如何修复内存泄露?

面试经常被面到这个问题,我觉得应该从这几方面问: 1.内存泄露与内存溢出的区别 2.程序OOM时,如何确定他是内存泄露还是内存溢出 3.确定后分别如何解决 请各位大牛们畅谈。小弟不慎感激。...

孟非
2013/05/29
426
8
.NET中MD5编码的内存泄露问题分析

问题描述与定位 最近一个项目中要加工处理700多万条的三元组数据,总是在执行到二三百万条的时候就报内存溢出了。不断的检查代码,各种对象局部化;使用.net profiler分析堆栈内存,发现有大...

caltrop
2015/12/29
2.3K
14
Java 内存结构备忘录

本文详细描述了 Java 堆内存模型,垃圾回收算法以及处理内存泄露的最佳方案,并辅之以图表,希望能对理解 Java 内存结构有所帮助。原文作者 Sumith Puri,本文系 OneAPM 工程师编译整理。 下...

OneAPM蓝海讯通
2015/11/16
38
0
深入理解Java虚拟机:OutOfMemory实战

在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(下文称OOM)异常的可能,本节将通过若干实例来验证异常发生的场景。并且会初步介绍...

摆渡者
2016/04/27
419
0
内存溢出(oom)和内存泄露(leak)

在系统内存严重不足时,可能触发OOM killer。 1.OOM kiler a. 问:oomscore的默认值是多少? 答:0,oomscore=0时禁止内核杀死进程。 b. 问:oomscore如何设置? 答:两个方式,手动设置或通过...

苗永超
2016/02/20
239
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Git 2.18版本发布:支持Git协议v2,提升性能

Git 2.18版本发布:支持Git协议v2,提升性能Git 2.18版本发布:支持Git协议v2,提升性能 新版本协议的主要驱动力是使 Git 服务端能够对各种 ref(分支与 tag)进行过滤操作。 这就意味着,G...

linux-tao
33分钟前
0
0
python浏览器自动化测试库【2018/7/22-更新】

64位py2.7版本 更新 document_GetResources 枚举页面资源 document_GetresourceText 获取指定url的内容 包括页面图片 下载地址下载地址 密码:upr47x...

开飞色
49分钟前
28
0
关于DCL双重锁失效及解决方案

关于DCL双重锁失效及解决方案 Double Check Lock (DCL)实现单例 DCL 方式实现单例的优点是既能够在需要时才初始化单例,又能够保证线程安全,且单例对象初始化后调用getInstance方法不进行...

DannyCoder
55分钟前
0
0
PowerDesigner 16.5 安装配置

PowerDesigner16.5破解版是一款业内领先且开发人员常用的数据库建模工具,PowerDesigner可以从物理和概念两个层面设计数据库,方便用户制作处清晰直观的数据流程图和结构模型,欢迎有需要的朋...

Gibbons
今天
0
0
mac Homebrew 指令积累

1通用命令 brew install [包名] //安装包 brew list //列举安装的包 brew info [包名] // 显示安装包的详细信息 mysql 相关 #启动mysql 服务 brew service start mysql my...

Kenny100120
今天
0
0
前端Tips: 创建, 发布自己的 Vue UI 组件库

创建, 发布自己的 Vue UI 组件库 前言 在使用 Vue 进行日常开发时, 我们经常会用到一些开源的 UI 库, 如: Element-UI, Vuetify 等. 只需一行命令, 即可方便的将这些库引入我们当前的项目: n...

ssthouse_hust
今天
1
0
大数据教程(2.13):keepalived+nginx(多主多活)高可用集群搭建教程【自动化脚本】

上一章节博主为大家介绍了目前大型互联网项目的keepalived+nginx(主备)高可用系统架构体系,相信大家应该看了博主的文章对keepalived/nginx技术已经有一定的了解,在本节博主将为大家分享k...

em_aaron
今天
5
0
Git 2.18版本发布:支持Git协议v2,提升性能

在最新的官方 Git 客户端正式版2.18中添加了对 Git wire 协议 v2 的支持,并引入了一些性能与 UI 改进的新特性。在 Git 的核心团队成员 Brandon Williams 公开宣布这一消息前几周,Git 协议 ...

六库科技
今天
0
0
Java8新特性之接口

在JDK8以前,我们定义接口类中,方法都是抽象的,并且不能存在静态方法。所有的方法命名规则基本上都是 public [返回类型] [方法名](参数params) throws [异常类型] {}。 JDK8为接口的定义带...

developlee的潇洒人生
今天
0
0
aop + annotation 实现统一日志记录

aop + annotation 实现统一日志记录 在开发中,我们可能需要记录异常日志。由于异常比较分散,每个 service 方法都可能发生异常,如果我们都去做处理,会出现很多重复编码,也不好维护。这种...

长安一梦
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部