Java中的内存泄露 和 JVM GC(垃圾回收机制)

1、什么是Java中的内存泄露?

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

  首先,这些对象是可达的,即在有向图中,存在通路能够与其相连;其次,这些对象是无用的即程序之后不会再使用这些对象编程

  若是对象知足这两个条件,这些对象就能够断定为Java中的内存泄漏,这些对象不会被GC所回收,然而它却占用内存。对象

 

  在C++中,内存泄漏的范围更大一些。有些对象被分配了内存空间,而后却不可达,因为C++中没有GC,这些内存将永远收不回来。blog

  在Java中,这些不可达的对象都由GC负责回收,所以程序员不须要考虑这部分的内存泄露。内存

  经过分析,咱们得知,对于C++,程序员须要本身管理边和顶点,而对于Java程序员只须要管理边就能够了(不须要管理顶点的释放)。效率

  经过这种方式,Java提升了编程的效率。内存泄漏

相关文章
相关标签/搜索