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

Làm thế nào chúng ta có thể gọi bộ thu gom rác (GC) một cách rõ ràng trong Java?


Khi không còn tham chiếu nào đến một đối tượng, đối tượng sẽ được hoàn thiện và khi Bộ sưu tập rác bắt đầu thu thập các đối tượng cuối cùng này, quá trình này sẽ được thực hiện tự động bởi JVM . Chúng tôi có thể gọi trực tiếp cho bộ phận thu gom rác nhưng không đảm bảo rằng GC sẽ bắt đầu thực thi ngay lập tức.

Chúng ta có thể gọi là Rác Bộ sưu tập rõ ràng theo hai cách

  • Phương thức System.gc ()
  • Phương thức Runtime.gc ()

java.lang. Runtime.freeMemory () phương thức trả về lượng bộ nhớ trống trong Máy ảo Java (JVM) . Gọi gc () có thể dẫn đến việc tăng giá trị được trả về bởi freeMemory .

Ví dụ

public class GarbageCollectionTest {
   public static void main(String args[]) {
      System.out.println(Runtime.getRuntime().freeMemory());
      for (int i=0; i<= 100000; i++) {
         Double d = new Double(300);
      }
      System.out.println(Runtime.getRuntime().freeMemory());
      System.gc();
      System.out.println(Runtime.getRuntime().freeMemory());
   }
}

Đầu ra

15648632
13273472
15970072