内存溢出和内存泄漏

内存溢出

JVM中可用内存空间存不下了,比如只有3M,但现在要创建一个5M的对象,新创建的就放不进去了。

内存泄漏

在业务代码执行过程中,有些对象它应该被回收,但是又有其他对象引用它,因此,GC不能自动回收。最终会导致内存泄漏。

如何避免

特别是一些流对象,比如OutputStream,Reader,BitMap,Document,很容易忘掉close。最麻烦的是要顺序回收,顺序错了还会产生空指针。