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

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

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

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

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

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

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

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

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

  • 相关阅读:
    2020.8.8第三十三天
    2020.8.7第三十二天
    2020.8.6第三十一天
    《大道至简》读后感
    2020.8.5第三十天
    2020.8.4第二十九天
    2020.8.3第二十八天
    2020.8.2第二十七天
    MySQL学习笔记(31):监控
    MySQL学习笔记(30):高可用架构
  • 原文地址:https://www.cnblogs.com/mww-NOTCOPY/p/11683303.html
Copyright © 2011-2022 走看看