Java的内存泄漏

内存泄漏是指,无用对象(不再使用的对象)持续占用内存或者无用对象的内存得不到及时释放,从而造成的内存浪费

就说是有一块内存你不需要再用了,但是呢你还保留着它的指针,那么这块内存就不会被回收

举个例子

public class ErrorStack {
    private int size;
    private Object[] contents = new Object[10];
    
    public void push (Object o){
        contents[size++] = o;
    }
    
    public Object pop (){
        return contents[--size];
    }
}

这里粗略的实现一个栈,问题在于即使你把数组里面的数据都pop完了,但是里面的指针所指向的对象也不会被回收,这样就造成了泄漏

原文地址:https://www.cnblogs.com/i-love-kobe/p/5916683.html