单例模式五种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举。
2018-01-02 11:08
531 查看
public class singletonTest {
/* 懒汉式 多线程下不安全 */
/* 懒汉式 多线程下安全性较高 */
/* 恶汉式*/
/*双重检验锁*/
/* 双重检验锁优化 因为编译器中存在指令重排序的问题 注意java5之前无效*/
/*静态类部类*/
/*枚举*/
}
这么多,你都看到这里了,果然是真爱啊!!!!!
/* 懒汉式 多线程下不安全 */
private singletonTest(){} private static singletonTest instance; public static singletonTest getInstance(){ if(instance==null){ instance=new singletonTest(); } return instance; }
/* 懒汉式 多线程下安全性较高 */
private singletonTest(){} private static singletonTest instance; public synchronized static singletonTest getInstance(){ if(instance==null){ instance=new singletonTest(); } return instance; }
/* 恶汉式*/
private singletonTest(){} private static singletonTest instance=new singletonTest(); public static singletonTest getInstance(){ return instance; }
/*双重检验锁*/
private singletonTest(){} private static singletonTest instance; public static singletonTest getInstance(){ if(instance==null){ synchronized (singletonTest.class) { if(instance==null){ instance=new singletonTest(); } } } return instance; }
/* 双重检验锁优化 因为编译器中存在指令重排序的问题 注意java5之前无效*/
private singletonTest(){} private volatile static singletonTest instance; public static singletonTest getInstance(){ if(instance==null){ synchronized (singletonTest.class) { if(instance==null){ instance=new singletonTest(); } } } return instance; }
/*静态类部类*/
private singletonTest(){} private static class getSingletonTestHolder{ private static singletonTest instatce=new singletonTest(); } public static final singletonTest getInstance(){ return getSingletonTestHolder.instatce; }
/*枚举*/
public enum EasySingleton{ INSTANCE; }
}
这么多,你都看到这里了,果然是真爱啊!!!!!
相关文章推荐
- 单例模式有五种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举。
- 单例模式有五种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举
- 单例模式有五种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举。
- 单例模式有五种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举
- 单例模式有五种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举。
- 单例模式有五种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举。
- 单例模式有五种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举。
- 单例模式五种写法 懒汉、饿汉、双重检验锁、静态内部类、枚举。
- 单例模式有五种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举。
- 单例模式有五种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举。
- 单例模式有五种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举。
- 单例模式的五种写法:饿汉,懒汉, 双重校验锁,静态内部类,枚举
- java单例模式的5种写法-饿汉、懒汉、静态内部类、双重校验锁、枚举
- Java中单例七种写法(懒汉、恶汉、静态内部类、双重检验锁、枚举)
- 单例模式的实现之懒汉,饿汉,双重校验锁,枚举和静态内部类以及单例模式的应用情景
- 单例模式(懒汉方式和饿汉方式)+双重检验锁
- SpringMVC(5):单例模式详解与示例分析(懒汉模式/饿汉模式/静态内部类改造)
- 理解单例设计模式(饿汉式,懒汉式,静态内部类,枚举,双重校验锁)
- java设计模式之单例模式写法,懒汉,饿汉,双检锁
- 单例模式的八种写法比较、枚举实现的好处、静态内部类实现单例原理