社区
Java SE
帖子详情
非诚勿扰贴——如何修复内存泄露?
夕水溪下
2013-05-29 11:17:49
面试经常被面到这个问题,我觉得应该从这几方面问:
1.内存泄露与内存溢出的区别
2.程序OOM时,如何确定他是内存泄露还是内存溢出
3.确定后分别如何解决
请各位大牛们畅谈。小弟不慎感激。
...全文
113
3
打赏
收藏
非诚勿扰贴——如何修复内存泄露?
面试经常被面到这个问题,我觉得应该从这几方面问: 1.内存泄露与内存溢出的区别 2.程序OOM时,如何确定他是内存泄露还是内存溢出 3.确定后分别如何解决 请各位大牛们畅谈。小弟不慎感激。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
无聊找乐
2013-05-29
打赏
举报
回复
楼上的都说的很详细了。我还能说啥~~!?
xiao315558547
2013-05-29
打赏
举报
回复
这个可以用jprofile6快速查出来,jprofile可以把各个对象的引用数量及引用关系罗列出来,可以根据这个来检查出哪里泄漏了。谢谢 我是求分的 急用
树成
2013-05-29
打赏
举报
回复
- - 这是个经验问题,写程序少的或者没有工作经验的人一般比较模糊。 1、内存泄露是指,程序在运行期间,有一部分内存没有或者无法被回收,而内存溢出是指程序对内存的使用量超出给它的额定使用量。它们之间有一定关系,但是没有必然的关系,内存泄露不一定会内存溢出,而内存溢出也不一定就是内存泄露造成的。 2、OOM时,肯定是内存溢出,因为这个错误就是内存溢出错误,因此只要判断这个溢出是否内存泄露造成的,还是非内存泄露,也许是给定的额定内存不足以满足需求,也可能是程序设计的缺陷,如果是c++,或者C,就要分析内存是否被free掉,而java的话,基本上就是List或者Map,而且通常是静态的才会造成泄露(jni不在此讨论范畴)。 3、如果是内存泄露,查找起来就比较困难了,因为你要仔细思考你的实现,然后想到可能会内存泄露的地方,然后一一排查,还要跟踪代码,如果有测试工具帮助,会很快。如果是单纯的内存溢出,那就比较简单了,因为肯定会有个数据爆发的需求,哪个模块实现的这种需求,针对情况调整就可以了。
爬虫工程师必备技术栈——加密解密以及字符编码原理
前言——最近很多粉丝私信我说他们在进行JS渗透的时候总是碰到SHA,MD5,AES,RSA之类的玩意;更有甚者说他们在进行破解一些网站的字体反爬的时候碰到了字符编码啥的,但是他们对这些东西不是很明白,只会跟着网上的...
腾讯技术岗内推,了解一下!
要注意的是,您如果认为您真的符合招聘需求并近期打算跳槽再进行联系和投递,
非诚
勿扰
。 您还可以持续关注Android机动车,我们会经常不定时的发布大厂内推机会,还有大量编程教学视频,干货文章等你来拿! 腾讯...
360手机卫士linux版,360手机卫士极速版
360手机卫士极速版带给用户更加稳定的性能,操作起来...360手机卫士和极速版有什么区别360手机卫士极速版的内存占用更低,每半月更新,稳定性更强。360手机卫士极速版特色1.【深度清理】精准分析各种软件缓存,高效...
Linux中线程和进程的区别
Linux中线程和进程的区别 ...例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等,然后该进程被放入到进程的就绪队列,进程调度程序选中它,为它分配...
Python 的上下文管理器是怎样设计的?
关于终结(finalization)的常见注意事项——进程可能会在没有终结任何对象的情况下突然被终止,而这些对象可能会因程序的周期或内存泄漏而永远存活(在 Python 的实现中,周期或内存泄漏会由 GC 妥善处理)。...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章