java中,如果一個物件里面的成員變數也是一個物件,那么這個物件沒有被指向時會被銷毀嗎?里面的成員變數物件也會被銷毀嗎?
uj5u.com熱心網友回復:
要看物件的管理方式。1.如果是非容器管理的物件,那么會被銷毀;
2.如果是spring管理的物件,那么根據spring工廠對物件的管理來看(創建與銷毀),單例和多例會有不同。jvm的釋放,取決于spring工廠的銷毀。
uj5u.com熱心網友回復:
這個問題涉及到了java的垃圾回識訓制 中 關于如何識別無參考物件,這個知識點網上很多教程、去搜索一下大致來說 、垃圾回收器會從根結點物件(全域靜態變數、這個是常接觸到的,還有其他型別的根結點)來搜索這個物件的參考、逐步可以分析出一顆參考樹
在樹之外的都會被銷毀
所以你說的這種情況是A->B、A的參考沒有了,A會被銷毀;但是如果B還被C參考了,B不會被銷毀的;除非B僅僅被A參考
spring的所有bean就是存盤在一個static map中、所以永遠在
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/278277.html
標籤:Java SE
上一篇:沒有找到類的主建構式或單個公共建構式——也沒有找到默認建構式
下一篇:java中方法
