一張圖了解強(qiáng)引用對(duì)象的生命周期

一張圖了解強(qiáng)引用對(duì)象的生命周期.png

圖解:

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

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

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

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