Java内存泄露大白话简介说明
下文笔者讲述java中内存泄露原因及避免方法分析,如下所示
Java内存泄露简介
当一个程序使用内存越来越多
但是内存未得到释放
最终导致内存耗尽,我们将这种情况称之为"内存泄露"
内存泄露的示例代码
public class MemoryLeakExample {
public static void main(String[] args) {
list list = new ArrayList();
while (true) {
list.add(new Object());
}
}
}
查看Java内存泄露
查看Java内存泄露
我们可以使用以下工具
如VisualVM,MAT等工具
结合JVM提供的固有工具如JConsole,JVisualVM等
通过观察Heap的变化趋势
对象的增长情况
分析Heap Dump等方式
例
public class MemoryLeakExample {
private static List list = new ArrayList();
public void memoryLeak() {
list.add(new byte[1 * 1024 * 1024]);
}
}
避免Java内存泄露的方法
防止内存泄露,需做到以下几点: 当一个对象已经不再使用 就应该让它成为垃圾回收器的潜在对象 也就是把所有引用它的引用都清除掉例
public class NoMemoryLeakExample {
public void noMemoryLeak() {
for (int i = 0; i < 10; i++) {
byte[] bytes = new byte[1 * 1024 * 1024];
process(bytes);
}
}
public void process(byte[] bytes) {
// Do something
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


