首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

单例的使用-mark一上

2012-11-04 
单例的使用--mark一下基本知识:一般而言,不变类没有状态。单例类不同,单例类含有状态,而且含有非常重要的状

单例的使用--mark一下

基本知识:一般而言,不变类没有状态。单例类不同,单例类含有状态,而且含有非常重要的状态,一般是需要共享的资源,譬如系统的配置信息等。 
在Java中,一个类有100个实例,会导致状态有100个拷贝,但方法在内存中只存储一次。一个不变类无论有多少个实例,它所含有的方法代码只会出现在内存中一次而已。
如果一个Class没有成员变量,只有成员方法,那么这个对象在内存中应该是1Byte。方法在内存中只存储一次。所以,这样的类,在创建和销毁上的开销可以忽略不计,完全交给JVM就可以了。 
Effective   Java中的建议:不要作优化。我们的设计思路还是应该遵循简单的、易于理解的思路。 


由以上可知:把不变类(例如dao)设计成单例, 是不必要的。

单例的滥用在数据库连接池这块是最常见的,在并发的时候造成数据库排队操作,有严重的性能问题

热点排行