Java中关于内存泄漏出现的原因以及如何避免
答案:1 悬赏:0 手机版
解决时间 2021-04-01 12:34
- 提问者网友:未信
- 2021-03-31 17:50
Java中关于内存泄漏出现的原因以及如何避免
最佳答案
- 五星知识达人网友:怙棘
- 2021-03-31 18:34
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,可能就会产生内存泄露
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,可能就会产生内存泄露
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯