单例模式最终推荐写法-线程安全

最终推荐写法

public class Singleton{

        private static class SingletonHolder{

           public static Singleton instance = new Singleton();  
    } 
    private Singleton(){}
    //访问静态内部类的静态字段 从而触发类的加载  
    public static Singleton newInstance(){
       return SingletonHolder.instance;  
    }             
}

  因为同一个类只加载一次,类加载过程由类加载器负责加载,从而保证线程安全。相对于双重检测锁,更加简洁。