java進程 java什么時候該寫.close()釋放資源,不寫可以嗎?
java什么時候該寫.close()釋放資源,不寫可以嗎?雖然Java有自動內存恢復機制,但如果是數據庫連接、網絡連接、文件操作等,不關閉不會被回收,這是不正確的代碼。換句話說,如果有close方法,
java什么時候該寫.close()釋放資源,不寫可以嗎?
雖然Java有自動內存恢復機制,但如果是數據庫連接、網絡連接、文件操作等,不關閉不會被回收,這是不正確的代碼。
換句話說,如果有close方法,您必須自己調用它。
垃圾回收機制僅在Java虛擬機控制的范圍內釋放資源。
對于數據庫連接、套接字、文件操作等
如果有close方法,請在完成任務后執(zhí)行
最好在finally塊中關閉,因為即使有異常,也可以調用這些代碼。
對于已用對象,Java不建議使用類似于C的析構函數來釋放內存(在C中刪除new之后的內容,并在Java中設置為null new之后的內容),因為GC將調整最合適的時間來釋放內存。在程序中濫用delete將降低Java程序的性能(但不應導致額外的錯誤)。