Computer >> Máy Tính >  >> Lập trình >> Java

Có bao nhiêu cách để làm cho một đối tượng đủ điều kiện cho GC trong Java?


Quá trình hủy các đối tượng không được tham chiếu được gọi là Bộ sưu tập rác (GC) . Khi một đối tượng không được tham chiếu, nó được coi là đối tượng không được sử dụng, do đó JVM tự động hủy đối tượng đó.

Có nhiều cách khác nhau để làm cho một đối tượng đủ điều kiện cho GC.

Bằng cách vô hiệu hóa tham chiếu đến một đối tượng

Chúng tôi có thể đặt tất cả các tham chiếu đối tượng có sẵn thành " null "khi mục đích tạo một đối tượng được phục vụ.

Ví dụ

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);
   }
}

Đầu ra

str eligible for GC: null


Bằng cách gán lại biến tham chiếu cho một số đối tượng khác

Chúng ta có thể làm cho biến tham chiếu để tham chiếu đến một đối tượng khác. Tách biến tham chiếu khỏi đối tượng và đặt nó tham chiếu đến một đối tượng khác, vì vậy đối tượng được tham chiếu trước khi gán lại đủ điều kiện cho GC.

Ví dụ

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);
   }
}

Đầu ra

str1: Welcome to Tutorix