簡體   English   中英

在Java中使用finalize()是否合適?

[英]Is it ever appropriate to use finalize() in Java?

我有一個Android項目,該項目大量使用C ++ JNI共享對象。 實際上,我有一個Java對象來管理從JNI調用分配的資源。 在那個特定的Java對象上,我正在使用finalize()調用來處理對象被銷毀時釋放的本機資源。

這一切似乎都有效,並且我看不到任何內存泄漏,但是,我聽說您不贊成使用Java終結器(有效Java,第2版,第27頁。項目7:避免終結器等)。 是否存在某些情況(如上文所述)適合使用finalize()? 我不確定要采取哪些其他措施來確保清理這些本機資源。

我相信您的案例是少數適合使用finalizer的案例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM