package java_study.Singleton;
import org.junit.Test;
/**
* Created by ethan on 2015/6/20.
* java 单例模式实现
* 饿汉式
*/
public class SingletonClass {
private static SingletonClass instance = new SingletonClass();
private SingletonClass(){}
public static SingletonClass getSingleton(){
return instance;
}
}
package java_study.Singleton;
/**
* Created by ethan on 2015/6/20.
* 懒汉式线程不安全
*/
public class SingleTonLanHan {
private static SingleTonLanHan instance = null;
private SingleTonLanHan(){}
public static SingleTonLanHan getInstance(){
if (instance==null)
instance = new SingleTonLanHan();
return instance;
}
}
package java_study.Singleton;
/**
* Created by ethan on 2015/6/20.
* 懒汉式线程同步
*/
public class SingleTonLanHanSynchronzied {
private static SingleTonLanHanSynchronzied instance = null;
private SingleTonLanHanSynchronzied(){}
public synchronized static SingleTonLanHanSynchronzied getInstance(){
if (instance==null)
instance = new SingleTonLanHanSynchronzied();
return instance;
}
}
package java_study.Singleton;
/**
* Created by ethan on 2015/6/20.
*/
public class SingleTonLanHanSynEfficient {
private static SingleTonLanHanSynEfficient instance = null;
private SingleTonLanHanSynEfficient(){}
public static SingleTonLanHanSynEfficient getInstance(){
if (instance == null){
synchronized (SingleTonLanHanSynEfficient.class){
if (instance == null)
instance = new SingleTonLanHanSynEfficient();
}
}
return instance;
}
}
java实现单例模式
最新推荐文章于 2024-07-18 15:38:13 发布