如何在 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
广告