内存泄漏是指,无用对象(不再使用的对象)持续占用内存或者无用对象的内存得不到及时释放,从而造成的内存浪费
就说是有一块内存你不需要再用了,但是呢你还保留着它的指针,那么这块内存就不会被回收
举个例子
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完了,但是里面的指针所指向的对象也不会被回收,这样就造成了泄漏