我的疑问是如果不存在共享资源冲突的情况下,
大量用户访问singleton会不会有性能瓶颈呢?
谢谢!

解决方案 »

  1.   

    singleton只是一个对象,
    大量用户都访问他,
    不会出现死锁吗?
      

  2.   

    if you don't synchronize on the methods in a singleton class, there is no synchronzation issue on the object, of course, no deadlock at all. What you have to pay attention is the data source you are using. I don't know where you put the data source but  it could affect  the performance.
      

  3.   

    singleton只是一个对象,
    大量用户都访问他,
    不会出现死锁吗?
    --------------先弄清死锁的概念 ^_^(如果不存在资源(包括方法)冲突的情况下)
      

  4.   

    静态方法中产生的对象,会随着静态方法执行完毕而释放掉,而且执行类中的静态方法时,不会实例化静态方法所在的类。如果是用singleton, 产生的那一个唯一的实例,会一直在内存中,不会被GC清除的(原因是静态的属性变量不会被GC清除),除非整个JVM退出了。这个问题我之前也想几天,并且自己写代码来做了个实验。
      

  5.   

    由于DAO的初始化,会比较占系统资源的,如果用静态方法来取,会不断地初始化和释放,所以我个人认为如果不存在比较复杂的事务管理,用singleton会比较好。个人意见,欢迎各位高手指正。