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

Có bao nhiêu cách để gọi bộ thu gom rác (GC) trong Java?


Bộ sưu tập rác trong Java được thực hiện bởi một chuỗi daemon được gọi là Trình thu gom rác (GC). Thay vì đợi cho đến khi JVM chạy trình thu gom rác, chúng ta có thể yêu cầu JVM chạy trình thu gom rác. Không có gì đảm bảo JVM có chấp nhận yêu cầu của chúng tôi hay không.

Trong Java, chúng ta có thể gọi bộ thu gom rác theo cách thủ công theo hai cách

  • Bằng cách sử dụng lớp Hệ thống
  • Bằng cách sử dụng lớp Runtime

Bằng cách sử dụng lớp Hệ thống

Hệ thống lớp có phương thức tĩnh gc () , được sử dụng để yêu cầu JVM gọi bộ thu gom rác.

Ví dụ

public class SystemClassTest {
   public static void main(String[] args){
      SystemClassTest test = new SystemClassTest();
      test = null;
      System.gc();
   }
   public void finalize() {
      System.out.println("Garbage collected");
   }
}

Đầu ra

Garbage collected


Bằng cách sử dụng lớp Thời gian chạy

Thời gian chạy là một lớp singleton trong Java và chúng ta có thể lấy một đối tượng thời gian chạy bằng cách sử dụng getRuntime () phương pháp. gc () phương thức là từ Runtime lớp và nó là một phương thức thể hiện.

Ví dụ

public class RuntimeClassTest {
   public static void main(String[] args) {
      RuntimeClassTest test = new RuntimeClassTest();
      test = null;
      Runtime.getRuntime().gc();
   }
   public void finalize() {
      System.out.println("Garbage Collected");
   }
}

Đầu ra

Garbage collected