原文網址:https://plumbr.eu/blog/debugging-to-understand-finalizer
這篇文章涵蓋了一個 Java 的內建功能:Finalizer。這個功能實際上廣為人知卻也鮮為人知,取決於你是否仔細看過 java.lang.Object
。在 java.lang.Object
中有一個叫做 finalize()
的 method。它沒有實際的內容,但是它的威能與危險程度都取決於 JVM 內部如何處置這個 method。
當 JVM 偵測到 class 有 finalize()
這個 method,黑魔法就開始了。所以,我們來弄一個有不同 finalize()
的 class,這樣我們就能知道在這種狀況下 JVM 會如何處理這個 object。