【发布时间】:2011-08-19 21:05:59
【问题描述】:
Spring Application Context 将在 Server StartUp 时加载所有 Singleton bean。但是在大应用的情况下,它已经将很多对象加载到内存中。这不会是应用程序的性能瓶颈,它会不会收集堆上的空间/堆中的永久空间。
【问题讨论】:
标签: java spring memory-management
Spring Application Context 将在 Server StartUp 时加载所有 Singleton bean。但是在大应用的情况下,它已经将很多对象加载到内存中。这不会是应用程序的性能瓶颈,它会不会收集堆上的空间/堆中的永久空间。
【问题讨论】:
标签: java spring memory-management
这是你作为程序员必须选择的设计问题——是的,对象会占用内存——是的,它们被急切地实例化。这些对象将占用多少内存取决于它们包含的内容——它可能很小,也可能很大。它是好是坏取决于你的程序做什么。
同样正确的是,Spring 还支持 bean 的延迟初始化
<bean id="foo" class="com.foo.SomeBean" lazy-init="true"/>
【讨论】:
不,这不会是导致内存问题的原因,除非您在一些内存空间很小的嵌入式系统上运行。在这种情况下,“许多对象”最多可能是几百个或几千个。与今天的内存分配相比,这几乎算不上什么。
【讨论】: