编写一段Java代码,展现java中会存在内存泄漏的问题。

2025-03-07 03:18:54
推荐回答(2个)
回答1:

内存泄漏示例
在这个例子中,循环申请Object 对象,并将所申请的对象放入一个Vector 中,如果仅仅释放引用本身,那么Vector 仍然引用该对象,所以这个对象对GC 来说是不可回收的。因此,如果对象加入到Vector 后,还必须从Vector 中删除,最简单的方法就是将Vector对象设置为null。

Vector v = new Vector(10);

for (int i = 1; i<100; i++){

Object o = new Object();

v.add(o);

o = null;

}// 此时,所有的Object 对象都没有被释放,因为变量v 引用这些对象。实际上无用,而还被引用的对象,GC 就无能为力了(事实上GC 认为它还有用),这一点是导致内存泄漏最重要的原因。

回答2:

写过连接数据库吧,当你的connection不关闭的时候,或者程序中出现死循环的时候,就容易出现内存泄露