java的垃圾回收方法finalize()
阿新 • • 發佈:2018-07-07
final check con new checkout 也有 mil lse 方法
眾所周知java有垃圾回收器負責無用對象占據的內存資源。但也有特殊情況的出現,這個時候有一個叫做finalize()的方法負責。finalize()不該拿來作為通用的清理方法。那finalize()真正的用途是什麽?
先看一個例子:
class Book{
boolean checkedOut = false;
Book(boolean checkOut) {
checkedout = checkOut;
}
void checkIn(){
checkedOut = false;
}
protected void sinalize(){
if(checkOut)
System.out.println("錯誤:確認!")
}
}
public class TerminationCondition{
public static void main(String[] args){
novel.checkIN();
new Book(ture);
System.gc();
}
}如果這個時候沒有finalize()來驗證終結條件,將很難發現這種缺陷。
java的垃圾回收方法finalize()