码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-10-16 09:21:08      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:效率   没有   strong   回收   占用   就是   inf   内存   程序员   

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

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

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

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

 

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

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

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

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

技术图片

 

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

标签:效率   没有   strong   回收   占用   就是   inf   内存   程序员   

原文地址:https://www.cnblogs.com/mww-NOTCOPY/p/11683303.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!