Java内存泄露大白话简介说明

欣喜 Java经验 发布时间:2024-02-01 17:25:03 阅读数:15264 1
下文笔者讲述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
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202402/17067795417879.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者