|
|
1
2
正如@Dina Bogdan所回答的那样,内存管理是由JVM垃圾收集器完成的,Spring和应用程序所能做的就是删除对bean的任何不需要的强引用。 对于单例bean,在应用程序上下文生命周期内,永远不会删除引用。这是因为Spring会跟踪它们,即使应用程序从中删除了字符串引用,它们仍然会被Spring缓存强烈引用。 与单例bean不同,原型bean不由Spring保存,一旦应用程序从中删除强引用,就会被垃圾收集。 对于其他作用域bean,如请求或会话,它们将在请求或会话结束后被垃圾收集,除非应用程序仍保留对它们的引用。 现在回答你的问题。如果您真的想管理bean如何被垃圾收集,那么可以创建Spring代理,该代理将通过弱引用引用其目标bean。这将允许垃圾收集器在内存紧张时收集该bean。 |
|
|
2
2
Spring只是java编程语言上的一个框架。JVM提供了垃圾收集器,这是一个通过在某个时刻分配的未使用内存来清理堆内存的进程。所以,简而言之,java足够聪明,可以销毁所有不再使用的bean(使用垃圾收集器)。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |