Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีทำให้ Object เหมาะสมสำหรับ Garbage Collection ใน Java

กระบวนการทำลายออบเจ็กต์ที่ไม่มีการอ้างอิงเรียกว่า Garbage Collection (GC) เมื่อออบเจ็กต์ไม่มีการอ้างอิง จะถูกพิจารณาว่าเป็นออบเจ็กต์ที่ไม่ได้ใช้งาน JVM จะทำลายออบเจ็กต์นั้นโดยอัตโนมัติ

มีหลายวิธีทำให้ออบเจ็กต์เหมาะสมสำหรับ GC

1. การกำหนด reference ให้เป็น null

เราสามารถตั้งค่า object references ทั้งหมดให้เป็น "null" เมื่อการสร้างออบเจ็กต์เสร็จสิ้นแล้ว

ตัวอย่าง

public class GCTest1 {
    public static void main(String[] args) {
        String str = "Welcome to TutorialsPoint"; // String object ถูกอ้างอิงโดยตัวแปร str
        // และยังไม่เหมาะสมสำหรับ GC
        str = null; // String object ที่ถูกอ้างอิงโดย str เหมาะสมสำหรับ GC แล้ว
        System.out.println("str eligible for GC: " + str);
    }
}

Output

str eligible for GC: null

2. การกำหนด reference variable ให้ชี้ไปยังออบเจ็กต์อื่น

เราสามารถทำให้ reference variable ชี้ไปยังออบเจ็กต์อื่นได้ แยก reference variable ออกจากออบเจ็กต์เดิมและตั้งค่าให้ชี้ไปออบเจ็กต์ใหม่ ดังนั้นออบเจ็กต์ที่เคยถูกอ้างอิงก่อนการกำหนดใหม่จึงเหมาะสมสำหรับ GC

ตัวอย่าง

public class GCTest2 {
    public static void main(String[] args) {
        String str1 = "Welcome to TutorialsPoint";
        String str2 = "Welcome to Tutorix"; // String object ถูกอ้างอิงโดย str1 และ str2
        // และยังไม่เหมาะสมสำหรับ GC
        str1 = str2; // String object ที่ถูกอ้างอิงโดย str1 เหมาะสมสำหรับ GC แล้ว
        System.out.println("str1: " + str1);
    }
}

Output

str1: Welcome to Tutorix