java – 关于Spring bean容器中的范围和垃圾回收
|
我是新来的,我正在使用它在我的一个项目.我了解到,弹簧容器保存所有的bean,默认情况下,所有bean的范围是单例.我可以在application-context.xml中或者使用@scope来更改范围. 现在我的问题是,如果将类的范围作为“原型”,弹簧容器将实例化一个新对象,每次需要一个…对吗?现在,垃圾收集如何处理.如果不再使用垃圾,垃圾是否被收集,还是将其悬挂在容器中.因为我不想在每次需要一个并加载内存的时候创建多个对象. 有人帮我理解这个. 解决方法从 Spring文档( 3.5.2 The prototype scope):
简单地说 – 一旦你创建并获得了对原型范围bean的引用,它就是JVM中唯一的参考.一旦这个引用超出范围,对象将被垃圾回收: void bar() {
Object foo = ctx.getBean("foo")
}
当你离开bar()方法的那一刻,没有任何其他引用的新的foo实例,这意味着它有资格进行垃圾收集.这种模式的结果是:
(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- spring boot整合mybatis利用Mysql实现主键UUID的方法
- VMware虚拟机下hadoop1.x的安装方法
- Java实现的两种常见简单查找算法示例【快速查找与二分查找】
- 将嵌套对象属性绑定到JavaFx中的TableView
- java – 如何在Spring STS中查看@Autowired bean的Bean Gra
- java – 新的PhoneGap 3.0导入org.apache.cordova无法解决
- orm – 将Glassfish v2升级到JPA 2.0?
- java – 引用一个匿名类?
- java / groovy / python是否有任何合理的SSDP或DIDL Lib?
- java – JVM如何开始寻找类?
