设计模式学习笔记(5)-单例模式
单例模式用于系统中只需要一个单例的时候。
实现要点:
1.创建一个Singleton的类,并将其构造函数设置成private.
2.创建一个Singleton的private static变量
3.创建一个getInstance()的publuc static方法,通过这个方法获取类的仅有的对象。
public class Singleton { private static Singleton singleton = null; private static final Object lock = new Object(); private Singleton(){ System.out.println("create instance"); } public static Singleton getInstance() { if (singleton == null) { synchronized (lock) { if (singleton == null) { singleton = new Singleton(); } } } return singleton; } } public class Test { /** * @param args */ public static void main(String[] args) { Singleton singleton1 = Singleton.getInstance(); Singleton singleton2 = Singleton.getInstance(); if (singleton1 == singleton1) { System.out.println("use singleton success"); } else { System.out.println("use singleton fail"); } } }