page contents

spring容器中的对象垃圾回收

Pack 发布于 2020-02-28 17:49
阅读 891
收藏 0
分类:Java开发

spring容器中的对象会被垃圾回收吗?如果不会请解释一下,谢谢。

479
Pack
Pack

在说能否被回收之前,需要先知道什么对象是垃圾,垃圾的如何被回收?


垃圾的确定是根据可达性分析查找出来的。也就是从GC Roots中能一下往下检索到的对象都不属于垃圾。所以最关键的是分析出哪些对象可以作为GC的Root。然后再看Spring的容器对象属不属于GC Roots中的某一类,就知道是否能被回收。


既然容器都不会回收了,那么容器中的对象还会回收吗?


补充小知识:哪些对象可以作为GC Roots的根对象呢:


1.虚拟机栈(栈帧中的局部变量去,也叫做局部变量表)中的引用的对象。

2.方法区中的类静态属性引用的对象。

3.方法区中常量引用的对象。

4.本地方法栈中JNI(Native)引用的对象。


请先 登录 后评论