Singleton设计模式包括懒汉式与饿汉式,简介如下:
1.懒汉式代码
public class Singleton {
private static Singleton uniqueInstance = null;
private Singleton() {
// Exists only to defeat instantiation.
}
public static Singleton getInstance() {
if (uniqueInstance == null) {
uniqueInstance = new Singleton();
}
return uniqueInstance;
}
// Other methods...
}
2.饿汉式代码
class Single {
private static Single onlyone = new Single();
private String name;
public static Single getSingle() {
return onlyone;
}
private Single() {
}
}
public class TestSingle {
public static void main(String args[]) {
Single s1 = Single.getSingle();
Single s2 = Single.getSingle();
if (s1 == s2) {
System.out.println("s1 is equals to s2!");
}
}
}
3.Singleton设计模式特点:
- 一个类只能有一个实例
- 自己创建这个实例
- 整个系统都要使用这个实例
4.Singleton设计模式优点:
- 能避免实例重复创建
- 应用于避免存在多个实例引起程序逻辑错误的场合
- 较节约内存