Java垃圾回收机制困惑:内存泄漏示例
在Java中,内存泄漏通常发生在对象被创建但无法正确释放引用时。以下是一个简单的内存泄漏示例:
class ExpensiveObject {
// 对象需要大量资源,比如长时间计算
}
public class MemoryLeakExample {
private ExpensiveObject expensiveObj;
public MemoryLeakExample() {
// 创建一个昂贵对象并持有引用
this.expensiveObj = new ExpensiveObject();
}
// 问题在于,这个方法永远都不会释放expensiveObj
public void performTimeConsumingTask() {
// 这里没有任何释放资源的操作
}
}
在这个例子中,MemoryLeakExample
类的performTimeConsumingTask
方法永远不会释放expensiveObj
。随着时间推移,这会导致系统内存泄漏。
还没有评论,来说两句吧...