各位童鞋早上好,欢迎和小鸟一起学习今天的设计模式。。。。。。单例模式。单例模式其实就是只有一个,唯一的意思,就像你我一样,世界上都只能找出一个,不会有第二个。先和大家一起学习一个线程不安全的单例模式,此种模式如果在多线程的情况下是不安全的。
package cd.david.singleton;
/**
* 单例模式相对于比较简单,其实就是使得外界不能任意的产生类的实例
*
* */
public class SingletonPattern {
private static SingletonPattern instance=null;
/**
* 此处类的构造函数为私有的,故外界不能new 该类
* */
private SingletonPattern() {
}
public static SingletonPattern getInstance() {
if(instance==null){
instance = new SingletonPattern();
}
return instance;
}
}
**********************************************************************************
还有一种线程安全的单例模式:
package cd.david.singleton;
/**
* 所谓安全的单例模式就是即使在多线程的情况下也不会出现问题,即线程安全的
*
* */
public class SafeSingleton {
private static final SafeSingleton instance = new SafeSingleton();
private SafeSingleton () {
}
/**
* 方法同步的东东,有兴趣的童鞋可以研究一下哦
* */
public synchronized static SafeSingleton getInstance() {
return instance;
}
}
此种模式采用了同步方法,如果有不了解的童鞋可以去补习一下哦...
**************************************************************************************
今天的设计模式较为简单,故测试就由童鞋自己去做了哦,俺们不能做伸手族啊,哈哈,加油,像我一样出于笨鸟阶段的程序猿![奋斗](http://static.blog.csdn.net/xheditor/xheditor_emot/default/struggle.gif)