垃圾收集器的特点

垃圾收集器特点:

1,垃圾收集器的主要目标是回收已经无用的对象的内存空间,从而避免内存泄漏体的产生,节省内存资源,避免程序代码的崩溃。

2,垃圾收集器判断一个对象的内存空间是否无用的标准是:如果该对象不能再被功能中任何一个“alive”的部分所引用。

3,垃圾收集器线程不可以被强制执行,但可以通过System.gc()方法来建议执行垃圾收集器。

4,垃圾收集器不能保证一个无用的对象一定会呗垃圾收集器收集,也不能保证垃圾收集器在一段JAVA语言代码中一定会执行。

5,没有办法预知在一组均符合垃圾收集器收集标准的对象中,哪一个会被首先收集。

6,循环引用对象不会影响其被收集。

7,可以通过将对象的引用变量初始化为Null值,来暗示垃圾收集器来收集该对象。

8,每个对象都有一个finalize()方法,这个方法从Object类继承来。finalize()方法用来收集内存以外的系统资源,每个方法只能调用finalize()一次。

9,垃圾收集器跟踪每一个对象,收集那些不可到达的对象,回收其占有的内存空间,但在进行垃圾收集的时候,垃圾收集器会调用finalize()方法,

通过让其他对象知道它的存在,而使不可到达的对象复苏为可到达的对象。

10,当一个方法执行完毕,其中的局部变量就会超出使用范围,此时可以被当作垃圾收集,但以后当该方法再次被调用的时候,其中的局部变量被重新创建。

释放堆栈空间:

if (img!=null)

{

  for(int i =0; i<img.length;i++)

  {

    if(img[i] != null)

     img[i] = null;

   }

img = null;

}

原文地址:https://www.cnblogs.com/happinessqi/p/3435521.html