2017-10-15 53 views
1

是否有一個類方法在被銷燬時被調用?水晶 - 類破壞的方法

當在一個班上使用new時,initialize方法被調用,是否有destroy等效?
當我不再使用類時,我需要確保正確關閉數據庫(程序在數據庫關閉後保持運行)。

回答

5

Object#finalize,但是這樣的析構函數通常只應用於低級抽象,如從C庫中釋放資源。對於普通的應用程序或庫代碼,我認爲這是一種代碼味道,通常有更好的解決方案。

如果數據庫連接僅用於特定的交互,則最好手動打開和關閉(可能包裝在一個塊中)連接,而不是依賴GC析構函數掛鉤。