溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在java中清理finalize

發(fā)布時間:2021-04-21 17:10:13 來源:億速云 閱讀:140 作者:Leah 欄目:編程語言

怎么在java中清理finalize?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

Java是什么

Java是一門面向對象編程語言,可以編寫桌面應用程序、Web應用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應用程序。

1.概念

finalize()主要用于在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。

2.語法

protected void finalize() throws Throwable { }

3.參數(shù)

4.返回值

沒有返回值

5.實例

public class FinalizeTest {
 
    static  class Person {
        String name;
 
        @Override
        protected void finalize() throws Throwable {
            System.out.println("finalize " + name);
            super.finalize();
        }
    }
 
 
    public static void main(String[] args) {
        Person p = new Person();
        p.name = "ltt";
        p = null;  // 此后,p原先指向的Person對象會在某個時間被 gc 回收掉
 
        System.gc();  // 建議 JVM 進行 gc 操作,但不一定會進行 gc 操作
        System.runFinalization();  // 執(zhí)行將要被銷毀的對象的 finalize 方法
    }
}

運行結果

finalize ltt

為了觸發(fā) gc行為,用了下面的代碼:

System.gc();  // 建議 JVM 進行 gc 操作,但不一定會進行 gc 操作
System.runFinalization();  // 執(zhí)行將要被銷毀的對象的 finalize 方法

看完上述內容,你們掌握怎么在java中清理finalize的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI