【问题标题】:Spring ApplicationContext and BeanFactorySpring ApplicationContext 和 BeanFactory
【发布时间】:2011-08-19 21:05:59
【问题描述】:

Spring Application Context 将在 Server StartUp 时加载所有 Singleton bean。但是在大应用的情况下,它已经将很多对象加载到内存中。这不会是应用程序的性能瓶颈,它会不会收集堆上的空间/堆中的永久空间。

【问题讨论】:

    标签: java spring memory-management


    【解决方案1】:

    这是你作为程序员必须选择的设计问题——是的,对象会占用内存——是的,它们被急切地实例化。这些对象将占用多少内存取决于它们包含的内容——它可能很小,也可能很大。它是好是坏取决于你的程序做什么。

    同样正确的是,Spring 还支持 bean 的延迟初始化

    <bean id="foo" class="com.foo.SomeBean" lazy-init="true"/>
    

    【讨论】:

    【解决方案2】:

    不,这不会是导致内存问题的原因,除非您在一些内存空间很小的嵌入式系统上运行。在这种情况下,“许多对象”最多可能是几百个或几千个。与今天的内存分配相比,这几乎算不上什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-19
      • 1970-01-01
      • 2012-03-23
      • 2014-03-26
      • 1970-01-01
      • 2015-05-31
      • 2013-06-20
      相关资源
      最近更新 更多