Quy trình hủy các đối tượng không được tham chiếu được gọi là Garbage Collection (GC - Thu gom rác). Khi một đối tượng không còn được tham chiếu, nó được coi là đối tượng không sử dụng, do đó JVM tự động hủy đối tượng đó.
Có nhiều cách để 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 đối tượng
Chúng ta có thể đặt tất cả các tham chiếu đối tượng có sẵn thành "null" sau khi mục đích tạo đối tượng đã đạt được.
Ví dụ
public class GCTest1 {
public static void main(String[] args) {
String str = "Welcome to TutorialsPoint"; // Đối tượng String được tham chiếu bởi biến str
// và chưa đủ điều kiện cho GC.
str = null; // Đối tượng String được tham chiếu bởi biến str đủ điều kiện cho GC.
System.out.println("str đủ điều kiện cho GC: " + str);
}
}
Kết quả
str đủ điều kiện cho GC: null
Bằng cách gán lại biến tham chiếu cho đố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 đối tượng khác, do đó đố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"; // Đối tượng String được tham chiếu bởi str1 và str2
// chưa đủ điều kiện cho GC.
str1 = str2; // Đối tượng String được tham chiếu bởi biến str1 đủ điều kiện cho GC.
System.out.println("str1: " + str1);
}
}
Kết quả
str1: Welcome to Tutorix