Object.JavaFinalize 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當垃圾收集判斷物件不再參考物件時,垃圾收集行程會在物件上呼叫。
[Android.Runtime.Register("finalize", "()V", "GetJavaFinalizeHandler")]
protected virtual void JavaFinalize ();
[<Android.Runtime.Register("finalize", "()V", "GetJavaFinalizeHandler")>]
abstract member JavaFinalize : unit -> unit
override this.JavaFinalize : unit -> unit
- 屬性
例外狀況
備註
當垃圾收集判斷物件不再參考物件時,垃圾收集行程會在物件上呼叫。 子類別會 finalize
覆寫 方法來處置系統資源,或執行其他清除。
的一般合約 finalize
是在 Java&交易時叫用;虛擬機已判斷沒有任何方法可供尚未停止的任何線程存取此物件,但因完成其他一些對象或類別而採取動作所採取的結果。 方法 finalize
可能會採取任何動作,包括讓這個物件再次提供給其他線程使用;不過,的一般用途 finalize
是在物件被不可撤銷地捨棄之前執行清除動作。 例如,代表輸入/輸出連接之物件的 finalize 方法可能會執行明確的 I/O 交易,以在永久捨棄物件之前中斷連接。
類別 finalize
的 Object
方法不會執行任何特殊動作;它只會正常傳回。 的 Object
子類別可能會覆寫此定義。
Java 程式設計語言不保證哪一個線程會 finalize
叫用任何指定物件的方法。 不過,保證叫用完成的線程不會在叫用完成時保留任何用戶可見同步鎖定。 如果 finalize 方法擲回未攔截的例外狀況,則會忽略例外狀況,並終止該物件。
finalize
針對物件叫用 方法之後,在 Java 虛擬機再次判斷不再有任何方法可供尚未停止的任何線程存取此物件之前,不會採取進一步的動作,包括其他已準備好完成的物件或類別可能採取的動作。 此時可能會捨棄物件。
finalize
任何給定物件的 Java 虛擬機永遠不會多次叫用方法。
方法擲 finalize
回的任何例外狀況都會使這個對象的最終處理停止,否則會予以忽略。
的 java.lang.Object.finalize()
Java 檔。
此頁面的部分是根據 所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。