/** * Created by yangyun on 2017/2/23. */ public class SingletonTest { //饿汉单例在类初始化的时候创建实例 private static SingletonTest instance=new SingletonTest(); private SingletonTest(){} public static SingletonTest getInstance(){ return instance; } }
public class SingletonTest { //饿汉单例在类初始化的时候创建实例 private static SingletonTest instance; private SingletonTest(){} public synchronized static SingletonTest getInstance(){ if(instance==null){ instance=new SingletonTest(); } return instance; } }
public class SingletonTest { //饿汉单例在类初始化的时候创建实例 private static SingletonTest instance; private SingletonTest(){} public static SingletonTest getInstance(){ if(instance==null) { synchronized (SingletonTest.class) { if (instance==null) { instance = new SingletonTest(); } } } return instance; } }
/** * Created by yangyun on 2017/2/23. */ public class SingletonTest { //饿汉单例在类初始化的时候创建实例 private static SingletonTest instance; private SingletonTest(){} public static SingletonTest getInstance(){ if(instance==null) { synchronized (SingletonTest.class) { if (instance==null) { instance = new SingletonTest(); } } } return instance; } public static void main(String[] args){ try { SingletonTest instance1=SingletonTest.class.newInstance(); SingletonTest instance2=SingletonTest.getInstance(); System.out.println(instance1); System.out.println(instance2); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } }//instace1、instance2的地址是不一样的,是两个对象
原文:http://www.cnblogs.com/yangyunnb/p/6432835.html