单例有什么好处?STRUTS的ACTION是单例的吗

解决方案 »

  1.   

    singleton是一种常见的模式,一般的factory和manager类喜欢用singleton模式,如名字所讲,这个模式是用单一个实例来引用对象,而不提供共有的constructor这样就控制了实例化的方式,而是通过对单一的实例的引用来获得对需要对象的实例,说他的好处主要是设计上的一种需要,至于内存方面,因为它限制了实例的个数,有利于Java垃圾回收,不过这个只是个偏门而已。
    由于singleton的单例的本质特点,所以singleton是无状态的,如有有状态,用这个模式简直就是灾难了。struts1里的action是无状态的,是cache起来的单例,但是struts2里的action已经有状态了,所以不能是单例的。
      

  2.   

    应该不是。
    spring默认是singleton
      

  3.   

    struts1的action默认是单例的.
    struts2的默认是多例的.使用spring的话,它默认是单例的