/**
* 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