java内存泄漏

在Java中,内存泄漏就是存在一些被分配的对象,这些对象有下面两个特点:

首先,这些对象是可达的,虚拟主机,即在有向图中,存在通路可以与其相连;

其次,这些对象是无用的,即程序以后不会再使用这些对象。如果对象满足这两个条件,这些对象就可以判定为Java中的内存泄漏,这些对象不会被GC所回收,然而它却占用内存。

在C++中,内存泄漏的范围更大一些。有些对象被分配了内存空间,香港空间,然后却不可达,由于C++中没有GC,虚拟主机,这些内存将永远收不回来。在Java中,这些不可达的对象都由GC负责回收,因此程序员不需要考虑这部分的内存泄露。

通过分析,我们得知,对于C++,程序员需要自己管理边和顶点,而对于Java程序员只需要管理边就可以了(不需要管理顶点的释放)。通过这种方式,Java提高了编程的效率。

所以java内存泄漏需要满足两个条件:无用,却可以到达

2002年的一篇老文章,让我豁然开朗

via:

接受自己的失败面,是一种成熟,更是一种睿智;

java内存泄漏

相关文章:

你感兴趣的文章:

标签云: