Singleton模式会不会降低效率?

02-10-21 zingers
由于用户对象都要占用提供的特定内存,会不会引起程序效率降低?
我想应该会的,否则bea不会要提供内存池的实现了。

banq
2002-10-21 21:42
对 效率会低点

cc
2002-10-22 08:49
static的对象总是唯一的啊?所有人都用这么一个对象,应该节省内存啊

zingers
2002-10-22 08:52
效率包括两个方面:时间效率和空间效率。
一般来说两者很难得兼。

why10k
2002-10-22 15:35
什么意思?Singleton应该是提高效率啊,内存只用一份,只是在创建时有一点完全可以忽略的效率损失吧?

banq
2002-10-22 17:28
大家都同时访问singleton 而且singleton又是宝贝一个,很多人抢的话,速度能快吗?

zz
2002-10-23 10:16
那比方jive里面的JiveGlobals.getJiveProperty每次都从配置文件里读取配置信息,如果实现成singleton,读到以后就不需要在打开配置文件了,那么这样在系统增大后,更多人使用jive的时候,两者谁的效率更高呢?

why10k
2002-10-23 12:50
其实这个问题没必要争论下去.Singleton对我来说应该是一种供多线程使用的东西,不需要保存状态,或者状态是独立于线程的,怎么会存在争用的问题呢?只有必要才用Singleton,线程无关才行啊.如果你的应用已经到了无法忍受读内存的速度,除非你有多个CPU,好象过分了吧.