application  xml配置如下<bean id="userDao" class="com.text.UserWork"></bean>
ApplicationContext applicatContext = new ClassPathXmlApplicationContext("appxxxxx.xml")UserWork user = applicatContext.getBean("userDao");请问这个UserWork的资源什么时候回收,如果不回收,对内在资源占用影响大吗?

解决方案 »

  1.   

    这个spring应该做了处理的吧,(猜测)比如说以弱引用的方式存储,当内存不足是就将这个对象释放掉,其实Spring应该有一个类似的属性配置吧。
      

  2.   

    spring bean一般是以单例形式存在的吧我们假设spring应用未结束前,bean已结束生命周期被回收,但是假如不禁止再次调用
    applicatContext.getBean("userDao");
    该bean还是会被重新创建,因为再次调用的时机不定,所以与其浪费不必要的系统资源再创建,不如不回收bean或者更灵活的方式管理,实在内存不够时就回收一些最不必要存在的bean,like floor 1 said
      

  3.   


    spring线程是什么时候结束的呢?