单例模式
来源:互联网 发布:visio2013网络图标库 编辑:程序博客网 时间:2024/06/16 21:50
单例模式(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点。懒汉式单例模式(返回时才创建对象,下面的例子就是)和饿汉式单例模式(在声明变量的时候就创建对象)。
类图:
代码实现:
publicclass Singleton {
//1.构造方法私有化,不能在类的外部创建类。
private Singleton(){}
//2.创建私有的唯一实例。
privatestatic Singletoninstance;
//3.创建公共的访问方法。(获取实例)
publicstatic Singleton getInstance(){
if(instance==null){
instance=new Singleton();
}
returninstance;
}
}
publicstaticvoid main(String[] args) {
Singleton sing1=Singleton.getInstance();
Singleton sing2=Singleton.getInstance();
Singleton sing3=Singleton.getInstance();
System.out.println(sing1);
System.out.println(sing2);
System.out.println(sing3);
}
运行结果:
Singleton.Singleton@1fc4bec
Singleton.Singleton@1fc4bec
Singleton.Singleton@1fc4bec
但是这还有问题!getInstance方法不是线程安全的,如果是多线程程序就可能产生两个对象。所以还要在getInstance方法加上synchronized关键字声明,synchronized关键字声明线程安全。
优点:统一管理数据,节省空间。
缺点:降低程序的效率。
本模式节省空间,降低了效率。就是用效率来换空间。(伦:设计程序在很多时候就是要找空间和效率的平衡点;达:在如今信息化的时代,速度比空间要重要)
- 单例、单例模式
- 单例模式-多线程单例模式
- 单件模式(单例模式)
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- PHP模式-单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 单例模式(单子模式)
- 设计模式-单例模式
- [设计模式] 单例模式
- ACdream群原创群赛(4)
- SDRAM的自动刷新AS(Auto Refresh)和自刷新SR(Self Refresh)
- linux中的一些目录缩写意思
- 数据库显示
- 关于linux服务器出现大量的Time_WAIT socket连接问题
- 单例模式
- java常用的连接池01
- [iPhone开发]iOS中日志打印Q&A
- 修改emacs默认路径
- Dual UOM in Oracle EBS
- ADO.NET实用技巧
- lisp自动递归(续)
- 浅学设计模式之桥接<bridge>模式(2)
- CSDN网站打开速度不是一般的慢啊~