在 Java 中有多少种调用垃圾回收器 (GC) 的方法?


Java 中的垃圾回收由一个称为垃圾收集器 (GC) 的守护线程执行。我们可以向 JVM 请求运行垃圾收集器,而不是等到 JVM 运行垃圾收集器。无法保证 JVM 会接受我们的请求。

在 Java 中,我们可以通过两种方式手动调用垃圾收集器

  • 使用 System 类
  • 使用 Runtime 类

使用 System 类

System 类具有一个静态方法 gc(),用于向 JVM 请求调用垃圾收集器。

示例

public class SystemClassTest {
   public static void main(String[] args){
      SystemClassTest test = new SystemClassTest();
      test = null;
      System.gc();
   }
   public void finalize() {
      System.out.println("Garbage collected");
   }
}

输出

Garbage collected


使用 Runtime 类

Runtime 是 Java 中的一个单例类,我们可以使用 getRuntime() 方法获取一个运行时对象。gc() 方法来自 Runtime 类,它是一个实例方法。

示例

public class RuntimeClassTest {
   public static void main(String[] args) {
      RuntimeClassTest test = new RuntimeClassTest();
      test = null;
      Runtime.getRuntime().gc();
   }
   public void finalize() {
      System.out.println("Garbage Collected");
   }
}

输出

Garbage collected

更新日期: 2020-07-02

1K+ 浏览

开启您的 事业

通过完成课程获得认证

开始
广告