2015年4月5日 星期日

理解 Finalizer

原文網址: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。