Java Spring单例内存使用优化

Java Spring单例内存使用优化,java,spring,garbage-collection,spring-ioc,Java,Spring,Garbage Collection,Spring Ioc,Spring是否在使用延迟加载的单例bean时优化了内存使用 假设我们有一个代表某个模块(应用程序框架/窗口)的单例bean,它是惰性的。这个bean加载一些类,这些类是这个框架的组件,并且没有在Spring的IoC容器中定义 假设我们关闭模块JFrame,frame的所有组件通常都应该被垃圾收集,但它们仍然被springbean引用 在这种情况下,spring会优化内存使用吗 确切地说,我问的不是原型,而是单例。因为我们有一个奇怪的行为,关闭窗口时释放了使用Spring单例内存。当我们为窗口使

Spring是否在使用延迟加载的单例bean时优化了内存使用

假设我们有一个代表某个模块(应用程序框架/窗口)的单例bean,它是惰性的。这个bean加载一些类,这些类是这个框架的组件,并且没有在Spring的IoC容器中定义

假设我们关闭模块
JFrame
,frame的所有组件通常都应该被垃圾收集,但它们仍然被springbean引用

在这种情况下,spring会优化内存使用吗


确切地说,我问的不是原型,而是单例。因为我们有一个奇怪的行为,关闭窗口时释放了使用Spring单例内存。当我们为窗口使用原型bean时,会释放更多内存。

Spring不会在实例化singleton之后释放它。关闭窗口时释放内存可能是在关闭窗口后释放某些资源的结果,可能与Springbean无关。有关更多信息,您应该发布一些代码,您的bean是什么,窗口是如何打开和关闭的