Java 写一个线程安全的单例模式(饱汉/饿汉)

饿汉单例

public class Singleton {
	
	private static Singleton singleton = new Singleton();
	
	private Singleton() {}
	
	public static Singleton createInstance() {
		return singleton;
	}
}

饱汉单例

public class Singleton {
	
	private static volatile Singleton baoHan;

	private Singleton() {
	}


	// double check 双重判断检查锁
	public static Singleton createInstance() {
		if (singleton == null) {
			synchronized (Singleton.class) {
				if (singleton == null) {
					singleton = new Singleton();
				}
			}
		}
		return singleton;
	}
}
posted @ 2021-11-30 19:32  程序员hg  阅读(261)  评论(0编辑  收藏  举报