Java中关于内存泄漏出现的原因以及如何避免

 我来答
ijava学习网
2018-06-20 · 国内最优秀java资源共享平台
ijava学习网
国内最优秀的java免费资源共享及学习平台,专注从实战中学习与成长。主要包括教程、经验分享、知识、资讯、工具、手册、视频及各种资源下载。
向TA提问
展开全部
1. 什么是内存泄露

1.1 内存泄露的定义:对于应用程序来说,当对象已经不再被使用,但是Java的垃圾回收器不能回收它们的时候,就产生了内存泄露。
1.2 要理解这个定义,我们需要理解对象在内存中的状态。哪些对象是无用对象,哪些是未被引用的对象

2. 怎样阻止内存泄露

2.1使用List、Map等集合时,在使用完成后赋值为null
2.2使用大对象时,在用完后赋值为null
2.3目前已知的jdk1.6的substring()方法会导致内存泄露
2.4避免一些死循环等重复创建或对集合添加元素,撑爆内存
2.5简洁数据结构、少用静态集合等
2.6及时的关闭打开的文件,socket句柄等
2.7多关注事件监听(listeners)和回调(callbacks),比如注册了一个listener,当它不再被使用的时候,忘了注销该listener,可能就会产生内存泄露
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式