zoukankan      html  css  js  c++  java
  • Java中的内存泄露 和 JVM GC(垃圾回收机制)

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

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

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

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

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

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

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

      通过这种方式,Java提高了编程的效率。

  • 相关阅读:
    对于git的认识
    第一篇博客
    结对编程
    对git的认识
    李叔同先生的《梦》
    51nod 1449 砝码称重
    LeetCode 21-29题解
    LeetCode 11-20题解
    LeetCode 6-10 题解
    LeetCode刷题重启博客
  • 原文地址:https://www.cnblogs.com/mww-NOTCOPY/p/11683303.html
Copyright © 2011-2022 走看看