码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之单例模式

时间:2018-10-11 18:52:55      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:single   asi   模式   ret   设计模式之单例模式   class   auth   安全   new   

## 1.单例模式
> 单例模式,是指使用这种方式创建的对象实例唯一。
类图:


### 1.1 懒汉模式
```
package com.asiainfo.test.singleTon;

/**
* 饱汉式单例模式
* @author hasee
*
*/
public class MySingleton2 {
//私有化构造方法
private MySingleton2(){

}
private static MySingleton2 ms2 = null;

//如果对象为null才创建
public static MySingleton2 getInstance() {
try {
if(ms2 == null) {
synchronized(MySingleton2.class) {//因为饱汉式单例模式存在多线程安全问题。导致单例模式无效。所以这里要加同步代码块保证创建的实例唯一。
ms2 = new MySingleton2();
}
}
} catch (Exception e) {
e.printStackTrace();
}
return ms2;
}

}
```

### 1.2 饿汉模式
```
package com.asiainfo.test.singleTon;

/**
* 饿汉式单例
* @author hasee
*
*/
public class MySingleton {
//私有化构造方法
private MySingleton(){};
//创建实例
private static MySingleton ms = new MySingleton();
//提供获取实例的方法
public static MySingleton getInstance() {
return ms;
}
}
```

设计模式之单例模式

标签:single   asi   模式   ret   设计模式之单例模式   class   auth   安全   new   

原文地址:https://www.cnblogs.com/codetree/p/9773639.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!