Java對象清除和垃圾回收

對象的自動清除

  1. 垃圾回收:對象回收是由Java虛擬機的垃圾回收線程來實現的
  2. 任何對象都有一個引用計數,當其值爲0時,說明該對象可以回收

System.gc()方法:System類的靜態方法,使程序主動的申請進行垃圾回收

析構方法

  1. java中沒有析構方法(對象釋放時調用的方法),但在Object的finalize()有類似的功能
  2. 可以在子類的finalize()方法釋放系統資源
  3. 一般來說,子類的finalize()方法中應該調用父類的finalize(),以保證父類的清理工作能夠正常進行

try-with-resources

  1. 由於finalize()方法的時機實際不確定,所以一般不用finalize()
  2. 關閉打開的文件、清除一些非內存資源等工作需要進行處理,可以使用該語法
  3. 對於實現了java.lang.AutoCloseable的對象,會自動調用其close()方法  

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章