如何在 Java 中使对象有资格进行 GC?


废弃未引用对象的进程称为垃圾回收 (GC)。一旦对象成为未引用对象,则视为该对象不再使用,因此 JVM 会自动废弃该对象。

有各种方法可以让对象有资格进行 GC。

通过将对象的引用置空

一旦创建对象的目的是到了,我们可以将所有可用的对象引用设为“null”。

示例

public class GCTest1 {
   public static void main(String [] args){
      String str = "Welcome to TutorialsPoint"; // String object referenced by variable str and it is not eligible for GC yet.
      str = null; // String object referenced by variable str is eligible for GC.
      System.out.println("str eligible for GC: " + str);
   }
}

输出

str eligible for GC: null

通过将引用变量重新赋值给其他对象

我们可以让引用变量引用另一个对象。将引用变量与对象分离并将其设为引用另一个对象,而以前重新分配之前所引用的对象有资格进行 GC。

示例

public class GCTest2 {
   public static void main(String [] args){
      String str1 = "Welcome to TutorialsPoint";
      String str2 = "Welcome to Tutorix"; // String object referenced by variable str1 and str2 and is not eligible for GC yet.
      str1 = str2; // String object referenced by variable str1 is eligible for GC.
      System.out.println("str1: " + str1);
   }
}

输出

str1: Welcome to Tutorix

更新于:2023 年 11 月 23 日

371 人观看

启动您的职业生涯职业

完成课程获得认证

开始
广告