当前位置:编程学习 > JAVA >>

java基础(单例)

能不能说一下jdk中哪些地方用到了单例模式,且说说这里为什么要用单例,网上查到的都不怎么样。。 --------------------编程问答-------------------- 为什么要用单例不是1、2句能说完的,LZ看设计模式的书去吧。 --------------------编程问答-------------------- --------------------编程问答-------------------- java.lang.Runtime就是用的单例模式
因为它是用来与运行环境交互的,不管在程序中何时何地获得一个Runtime的对象,它都应该是同一个对象 --------------------编程问答-------------------- log4j --------------------编程问答-------------------- 发现技术性的问题都很少有人回答。我纯粹打酱油路过跑过也不想错过的。 --------------------编程问答-------------------- --------------------编程问答-------------------- jdk源码没看过几个。

像3楼java.lang.Runtime确实是单例模式

Spring框架里面也有单例。

至于为什么要用单例,有一个很简单的理由。

省资源,提高程序的性能。

给你举个例子。

假设街道办事处,老百姓过来可以领取避孕套。

这个部门请一个人就可以了,有必要为每个老百姓都雇佣一个人发避孕套吗?

这个人,就跟对象一样,他是占资源的,你需要给他发工资的。

就像有些对象,他是占数据库连接的,亦或是他占内存,亦或是每创建他一次,都需要费时间。

但是,某些特定环境中,我们只需要这样一个对象。

并且,想控制,大家都用这个一个对象。

这个时候就需要单例模式。


如果,上面的看明白了。

我们就还可以具体的探讨下什么时候不适合用单例。

上面我也说了,某些特定环境。

但是有些环境用单例就不好。

如果多线程,涉及到线程安全的时候。这个时候可能就不适合用到单例。

多线程,要求线程安全,你可能就要做相应的同步工作了。

举个例子,比如现在这个社区,现在想提高服务质量了。想为每个人,都发适合尺寸的避孕套。

假如一天人特别多,大家一拥而上,这个时候这个工作人员就很有可能发错大小的了,有的人的套套的尺寸就

不对了。

怎么办呢,不能让群众不舒服啊,那就大家排队吧一个一个来领。

这样效率也就降低了。

OOAD这个东西,要慢慢理解。

你没有代码经验的时候很难理解。
--------------------编程问答-------------------- PS:引用三楼同志的名人名言

经常结贴,你就会了。 --------------------编程问答-------------------- 你没有代码经验的时候很难理解
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,