1. 程式人生 > >java的垃圾回收方法finalize()

java的垃圾回收方法finalize()

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()