我正在向Java移植一些C++代碼,它使用了在堆棧中分配對象(它恰好實現UDP連接)的相當常見的C++技巧,它具有一些內部狀態信息(這裏是UDP套接字)。在範圍內,該對象用於做各種事情(發送和接收UDP消息)。好的是,當控制離開這個範圍時,對象的析構函數將被運行,這可以被視爲自動地導致釋放對象的內部資源(在這種情況下,我確保套接字被關閉,以便我可以重用它的地址和我的程序其他部分的端口號)。用於自動資源釋放的java技術? 「提示清理」?
在試圖找出如何做到這一點,我已經瞭解到,Java沒有析構函數,即「敲定」不會做我想做的,等
當然還有一些同樣聰明的技術在Java中完成同樣的事情?我意識到我可以添加一個「close()」方法並嘗試確保它總是在適當的時候被調用,並且我進一步認識到這可能會比使用C++更容易且更可靠地在Java中完成。但是我真的必須走那條路嗎?
是的,如果我不得不手動完成它,我懷疑'try {} finally {}'將是一個乾淨的方法來做到這一點。我有點驚訝,儘管看起來我可能會被迫在需要的地方手動編碼。 –