一張圖了解強引用對象的生命周期

一張圖了解強引用對象的生命周期.png

圖解:

  • 需要經(jīng)歷兩次標記,對于強引用來說,第一次標記就是將不可達對象放入pendingQueue里面,第二次標記就直接死亡了。
  • finalize方法的作用:GC單純的只對java分配的內(nèi)存有用,如果想要釋放c++層的內(nèi)存,需要在Gc的執(zhí)行過程中的回調(diào)方法finalize里釋放
  • 對象的finalize方法只會執(zhí)行一次
  • finalize和gc是在兩個不同的線程執(zhí)行的,所以不確定性比較大,所以盡量不要用finalize方法
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Java是一門面向?qū)ο蟮恼Z言。它能夠遵循一種更接近于現(xiàn)實世界中解決常見問題的思考方式。為了更好地了解對象,我們應該...
    城外李桃園閱讀 393評論 0 0
  • 一個完整的類的生命周期如下: 加載 --> 準備-->解析-->初始化-->使用-->卸載 注意: 加載并不是類...
    是哪的鴨閱讀 646評論 0 0
  • 在JVM運行空間中,對象的整個生命周期大致可以分為7個階段:創(chuàng)建階段(Creation)、應用階段(Using)、...
    Viking_Den閱讀 1,804評論 0 2
  • 導讀 移動開發(fā)知識體系總章(Java基礎、Android、Flutter) Java四大引用類型 對象的生命周期 ...
    彭空空閱讀 1,374評論 0 0
  • JVM運行空間中,對象的整個生命周期大致分為7個階段: 1.創(chuàng)建階段 1.1 對象的創(chuàng)建過程: 1)對象分...
    冷月成雙閱讀 572評論 0 1

友情鏈接更多精彩內(nèi)容