W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Java提供了一種在對(duì)象即將被銷(xiāo)毀時(shí)執(zhí)行資源釋放的方法。
在Java中,我們創(chuàng)建對(duì)象,但是我們不能銷(xiāo)毀對(duì)象。
JVM運(yùn)行一個(gè)稱(chēng)為垃圾收集器的低優(yōu)先級(jí)特殊任務(wù)來(lái)銷(xiāo)毀不再引用的所有對(duì)象。
垃圾回收器給我們一個(gè)機(jī)會(huì),在對(duì)象被銷(xiāo)毀之前執(zhí)行清理代碼。
Object類(lèi)有一個(gè)finalize()方法,聲明如下:
protected void finalize() throws Throwable { }
Object類(lèi)中的finalize()方法不會(huì)做任何事情。
你需要覆蓋你的類(lèi)中的方法。
您的類(lèi)的finalize()方法將在您的類(lèi)的對(duì)象銷(xiāo)毀之前由垃圾回收器調(diào)用。
以下代碼顯示了如何創(chuàng)建一個(gè)Finalize類(lèi)覆蓋對(duì)象類(lèi)的finalize()方法。
class Finalize { private int x; public Finalize(int x) { this.x = x; } public void finalize() { System.out.println("Finalizing " + this.x); } } public class Main { public static void main(String[] args) { for (int i = 0; i < 20000; i++) { new Finalize(i); } } }
上面的代碼生成以下結(jié)果。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: