精华帖 (0) :: 良好帖 (0) :: 新手帖 (5) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-07-23
giginet 写道 抛出异常的爱 写道 容器中的单例
jvm中的单例 域不同. 精辟,一针见血。 了解一下java关于堆和栈,你就清楚了。 说的很清楚了。。! 是要好好学习一下。。 |
|
返回顶楼 | |
发表时间:2010-07-23
yangfuchao418 写道 呵呵 ,首先spring中的singleton和23中设计模式中的singletong是不同的。确切的说spring中的应该叫单对象。不是严格意义上的单例模式。
单对象我还是第一次听说过,能解释下单对象是什么意思吗?和单例有什么区别? |
|
返回顶楼 | |
发表时间:2010-07-23
xhdwell 写道 yangfuchao418 写道 呵呵 ,首先spring中的singleton和23中设计模式中的singletong是不同的。确切的说spring中的应该叫单对象。不是严格意义上的单例模式。
单对象我还是第一次听说过,能解释下单对象是什么意思吗?和单例有什么区别? 他说的单对象就是指的单例, 单例和单例模式不是一样的,单例模式的标准你可以百度百科一下哈:全局提供的,自己生成,只有一个这些标准才是单例模式 |
|
返回顶楼 | |
发表时间:2010-07-23
笑我痴狂 写道 singleton是单态模式的 ,有ioc容器管理 ,当然不是线程安全的啦 ,不过所谓的线程安全也是相对的
如果你的类是没有状态的, 那用singleton 的性能要高一些 ,因为只有一个实例 。 如果你的类是有状态的 ,那就必须显示的设置为prototype了 在ssh2 项目中 , struts2的action交由spring管理的时候 ,spring默认是singleton的 ,而struts2的action显然是有状态的 ,所以必须显示设置为 scope=“prototype” prototype为原型模式 , 每次action请求过来都会创建一个action 但是对那些Dao的实现类推介scope=“singleton” ,因为这些类没有状态,用singleton只需维护一个实例,显然性能高一些 线程安全和单例有什么关系? |
|
返回顶楼 | |
发表时间:2010-07-23
djandg 写道 抛出异常的爱 写道 容器中的单例
jvm中的单例 域不同. 谢谢您的回复,如果方便,能请您再讲得详细一点吗?谢谢 静态变量,在Java中,相当于有命名空间的全局变量。这个全局(整个JVM就一个上下文)在JVM。同理,Spring作为一个容器(或者称上下文),其中的单态Bean仅在Spring容器中。 |
|
返回顶楼 | |
发表时间:2010-07-23
笑死我了。你们算是学到家了,还来个单对象跟单例不是一样的,哈哈哈!
|
|
返回顶楼 | |
发表时间:2010-07-24
yangguo 写道 这个跟spring有个屁关系。要问就问单例模式与静态类的区别。
现在的人真是受框架所累,java都没搞懂,就整天ssh. 这个要顶,我也有想骂娘的冲动啊,框架害人啊!! 楼主问的问题充分说明的现在开发人员的基础素质啊。 |
|
返回顶楼 | |
发表时间:2010-07-24
看玩此贴,朕心甚慰,哈哈哈哈~~~~飘过
|
|
返回顶楼 | |
发表时间:2010-07-25
yangguo 写道 这个跟spring有个屁关系。要问就问单例模式与静态类的区别。
现在的人真是受框架所累,java都没搞懂,就整天ssh. 这个回答才是亮点,现在一帮SB程序员. |
|
返回顶楼 | |
发表时间:2010-07-30
哎,别人真心求教,用的着这么说吗,现在je上面的人啊。。。。 @Autowired private DataExportService dataExportService; @Autowired private DataExportService dataExportService1; @Test public void test() throws Exception { DataExportService dataExportService3 = new DataExportService(); DataExportService dataExportService4 = new DataExportService(); System.out.println(dataExportService==dataExportService1); //返回 true(spring) System.out.println(dataExportService3==dataExportService4); //返回 false(单例模式) } 具体就是域不一样。 |
|
返回顶楼 | |