单例模式的实现——延迟初始化占位类替代双重检验加锁以达到延迟初始化和线程安全的目的。

package org.test;

public class Singleton {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Singleton singleton=Singleton.getInstance();
		System.out.println(singleton);
	}
	
	//延迟初始化占位类替代双重检验加锁以达到延迟初始化和线程安全的目的。
	private static class SingletonHolder{
		public static Singleton singleton=new Singleton();
	}
	public static Singleton getInstance(){
		return SingletonHolder.singleton;
	}
	
	private String name="test";
	private Singleton(){
	}
	public String toString(){
		return name;
	}

}
原文地址:https://www.cnblogs.com/cloudwind2011/p/8810331.html