有几种方法可以使对象符合Java中的GC条件?
销毁未引用对象的过程称为垃圾回收(GC)。一旦取消引用对象,就将其视为未使用的对象,因此JVM会 自动销毁该对象。
有多种方法可以使对象符合GC条件。
通过取消对对象的引用
一旦达到创建对象的目的,我们就可以将所有可用的对象引用设置为“null”。
示例
public class GCTest1 { public static void main(String [] args){ String str = "Welcome to nhooo"; // 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 nhooo"; 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