筆記:
JVM本身就有記憶體回收機制,我看大家都沒有特殊用途不用特別釋放記憶體
但還是學一下基本的原理跟應用方式吧
System.gc() =系統GarbageCollection
package 課程1;
public class runtime {
public static void main(String[] args) {
Runtime rt = Runtime.getRuntime(); //可以取得當前JVM的運行時環境
System.out.println(rt.freeMemory()); //取得freeMemory
for (int i = 0; i < 1000000; i++) {
String Str = new String("sdd" + i); //不停生新物件佔據記憶體
if (i == 500000) {
System.out.println(rt.freeMemory()); //取得freeMemory
}
}
TestGCannFinalize testGC = new TestGCannFinalize();
testGC = null; //有沒用的物件了
System.gc(); //回收囉!
}
}
class TestGCannFinalize{
{
System.out.println("安安,我建置了");
}
protected void finalize() { // 回收前會說這句話
System.out.println("被回收前,讓我寫一個慘字");
}
}
/*
OUTPUT :
-------
每台電腦不同
509461096
474427736
安安,我建置了
被回收前,讓我寫一個慘字
*/
@copyright MRcodingRoom
觀看更多文章請點MRcoding筆記
觀看更多文章請點MRcoding筆記