java自帶垃圾回收機制,會自動識別內存中不再會被使用的對象並將其銷毀,釋放內存。
finalize()的使用:
在java中每個被分配了內存的對象最終是要被清理的,那么當系統不能准確的去判斷並釋放這些對象時,就需要程序員在這個對象的類里面創建一個finalize()的方法,方法告訴程序當滿足一個特定的條件時,就釋放對象。例如文件流,最終需要將流關閉,才能實現內存的釋放。
示例:
package oopTest;
public class FinalizeClass {
public boolean nishuone = true;
public FinalizeClass(){
}
public FinalizeClass(boolean nishuone){
this.nishuone = nishuone;
}
public void wobushuo(){
this.nishuone = false;
}
public void finalize(){
if(nishuone){
System.out.println("java是最nb的編程語言");
}
}
public static void main(String[] args){
FinalizeClass a = new FinalizeClass(true);
a.wobushuo();
new FinalizeClass(true);
System.gc();
}
}