单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例)
单例设计模式有懒汉式和饿汉式两种表现形式.
1.懒汉式---非线程安全的
/*
* 设计一个符合单例设计模式的类
*/
/*
* 单利设计模式 ---饿汉式
*/
public class Single {
private static Single single = new Single();
/*
* new会调用构造方法----不让开发人员直接调用构造方法
*/
private Single() {
}
public static Single getInstance() {
return Single.single;
}
}
2.饿汉式---线程安全的
/*
* 懒汉式
* */
public class Single1 {
private static Single1 single = null;
private Single1() {
}
//synchronized是同步的
public synchronized static Single1 getInstance() {
if(single == null) {
single = new Single1();
}
return single;
}
}