java-Spring相關面試題總結

好記性不如爛筆頭,僅以此記錄

20200524

 1.Spring中的Bean是線程安全的嗎?

 2.Spring中的Bean什麼時候回收?

 

 

-----------------------------------------------------我是分隔符---------------------------------------------------------------------------------------------------------

 

答案:

     1.這個問題有坑,首先你要知道spring中的bean都是從IOC容器中來的,而IOC容器的的bean是從 配置文件或者註解掃描得到的, 而恰巧這些東西都是我們自己寫的;所以這個問題可以轉換成 -->自己寫的Bean 線程安全嗎? 

    2.回收這個問題又是一個大坑,爲什麼這麼說呢  首先瞭解到bean默認單例,我們都知道Bean是被IOC容器持有的,而根據GC可達性分析 我們可以知道,只有那些多次不可達的對象纔會被JVM回收,單例的bean是不是只有在IOC容器被銷燬後,纔會被回收; 

    我前邊有提到默認單例這個詞,那麼一定存在配置可以修改它,當我們修改後,這個對象每次使用時都會被new出來,用完就就棄,這時GC多次不可達也會被回收

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