Java 在設計時,考慮到了垃圾回收,Java在JVM中加上了一個機制,這個機制會不定時的啟動,然後會檢查內存哪些是你已經不再使用的 .這個機制就是Java 不同於其他程序語言的一個非常重要的特色——“Garbage Collection”,負責執行這項機制的就是“Garbage Collector”,簡單“GC”。
示例:
public class GCTest
{
public static void main(String argv[])
{
Runtime rt=Runtime.getRunTime();
System.out.println("Progra start");
System.out.println("Free/Total memory(bytes):"+rt.freeMemory()+"/"+rt.totalMemory());
MyObject obj1=new MyObject(1);
MyObject obj2=new MyObject(2);
MyObject obj3=new MyObject(3);
System.out.println("After created three MyObject objects");
System.out.println("Free/Total memory(bytes):"+rt.freeMemory()+"/"+rt.totalMemory());
obj1=null;
obj2=null;
obj3=null;
System.out.println("After released three MyObject objects");
System.out.println("Free/Total memory(bytes):"+rt.freeMemory()+"/"+rt.totalMemory());
}
}
在示例中,使用了Runtime這個類所提供的freeMemory和totalMemory來看目前系統(JVM)中,總共有多少內存,還余多少內存。
注意:Runtime類沒有提供構造函數讓你可以構造對象出來使用,這是因為電腦要保證一個系統(JVM)中只能有一個Runtime對象。所以我們要改由Runtime類所提供的getRuntime方法,來取得這個惟一的Runtime對象。
未完待續