我想用APPLICATION BEAN 代替Singleton(单态)可以吗

03-01-07 henry.t
Singleton(单态)的模式无非只想使一个类在内存中只有一个实例,那么我想用APPLICATION BEAN还不是一样啊?!请BANG和大师们指点一下,在使用上有不同吗?会不会影响模式运用啊?请详细解释一下,谢谢大家

hxz
2003-01-08 09:52
借题问一下banq,application bean 也是多线程访问的,那有没有同步问题?
我对楼主的回答:
1. singleton 的实例可以随时清除!application 直到关闭web服务器才可以终止!

2. 从上下文看你这里的singleton 一定是多线程的!当然就有同步问题!

3. jive中用了application 作为首页进入时,提高速度

4. 具体情况具体做!

banq
2003-01-08 10:10
application bean从某种程度上就是单态模式的实现。
因为是单态的,servlet又是多线程的,所以application bean需要考虑同步的问题。

henry.t
2003-01-08 14:02
那么,用Singleton(单态)模式就不用考虑同步了吗???

请BANG回答,谢谢hxz 但我第一点看懂以外,其他还有点糊涂,请帮忙详细点,麻烦了

henry.t
2003-01-08 14:05
当然,我的APPLICATION BEAN不储存状态等东西,只有方法,而且不操作静态的或全局的实力,不用同步,方法内的参数都是局部变量和调用者传进来的,所以不考虑同步了. 我说得对吗????????????

banq
2003-01-08 17:45
用 同步 更安全些,万一别人修改你的程序加入代码?

henry.t
2003-01-08 23:33
BANG:你的意思是,如果有人在我的代码的基础上进行二次开发是把?
如果是这样,为什么他不自己加上同步限制啊,同步是他引入的,应该由他完成,而我的没有这个必要啊,加上了反而对性能有很大的影响。你说对吧?

banq
2003-01-09 15:40
也不完全是这样:
有个基本概念:在多线程环境下,我们要使用标记上"线程安全"的技术。

加上同步,在JDK1.4中对性能影响不大。

henry.t
2003-01-10 00:42
"我们要使用标记上"线程安全"的技术"
恳请BANG给一个例子(比如代码,不求多,但求讲解)来说明上面的理论

henry.t
2003-01-12 17:30
等到花都开了

henry.t
2003-01-13 23:10
up等待中