垃圾回收机制(GC)

Posted tibbers

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了垃圾回收机制(GC)相关的知识,希望对你有一定的参考价值。

一、定义

  GC(Gabage Collection)是垃圾收集的意思。程序员创建一个对象之后,如果忘记或者产生错误的内存回收会导致程序或者系统不稳定。Java提供了GC来自动监测对象是否超过了作用域从而达到自动回收内存的目的。

二、基本原理

  原理:当程序员创建对象时,GC就开始监控这个对象的地址、大小和适用情况。GC采用有向图¹的方式记录和管理堆中的所有对象,以确定哪些对象是“可达的”和哪些对象是“不可达的”。当确定到“不可达”时,GC就有责任回收这些内存。并且可以马上回收。

  优点:可以有效的防止内存泄漏²,有效的使用可以使用的内存。

  运行方法:System.gc();

         Runtime.getRuntime().gc() ;

 

 

①有向图:由一些小圆点(称为顶点或结点)和连结这些圆点的直线或曲线(称为边)组成的图,并且给图的每条边规定一个方向,那么得到的图称为有向图,其边也称为有向边。

技术图片

 ②内存泄漏:指的是一个不再被程序使用的对象或者变量一直被占据在内存中。通俗地说,就是程序员了能创建了一个对象,以后一直不再使用这个对象,这个对象却一直被引用,即这个对象无用但是无法被垃圾回收器回收。

 

以上是关于垃圾回收机制(GC)的主要内容,如果未能解决你的问题,请参考以下文章

Java垃圾回收机制是啥?

PHP垃圾回收机制(GC)

Java垃圾回收机制(GC)详解

GC垃圾回收机制

GC垃圾回收机制

PHP 垃圾回收 GC 机制人工介入释放内存