常见的五种单例模式实现方式
2017-05-23 16:19
246 查看
1.饿汉式
-线程安全、调用效率高。但是,不能延时加载
2.懒汉式
-线程安全、调用效率不高。但是,可以延时加载
3.双重检测锁式
-由于JVM底层内部模型原因,偶尔会出问题,不建议使用
4.静态内部类式
-线程序安全,调用效率高。可以延时加载
5.枚举式
-线程安全,调用效率高,不能延时
如何选用?
-单例对象、占用 资源少,不需要延时加载(枚举式 优于 饿汉式)
-单例对象、占用 资源大,需要延时加载(静态内部类式 优于 懒汉式)
-线程安全、调用效率高。但是,不能延时加载
2.懒汉式
-线程安全、调用效率不高。但是,可以延时加载
3.双重检测锁式
-由于JVM底层内部模型原因,偶尔会出问题,不建议使用
4.静态内部类式
-线程序安全,调用效率高。可以延时加载
5.枚举式
-线程安全,调用效率高,不能延时
如何选用?
-单例对象、占用 资源少,不需要延时加载(枚举式 优于 饿汉式)
-单例对象、占用 资源大,需要延时加载(静态内部类式 优于 懒汉式)
相关文章推荐
- 单例模式的五种实现方式
- 单例模式五种实现方式
- 《java设计模式总结》常见的五种单例设计模式实现方法
- ANDROID设计模式之单例模式的五种实现方式
- 安卓设计模式之单例模式的五种实现方式
- JAVA设计模式-单例模式(Singleton)的五种实现方式
- 单例模式的五种实现方式
- 单例模式的五种实现方式
- JAVA中单例模式实现的五种方式,有详细的比较
- 常用的五种单例模式实现方式
- Rhyme/设计模式之单例模式详解—作用、应用场景、优点、五种单例模式实现方式
- 单例模式的五种实现方式
- 设计模式之单例模式 (五种单例模式实现方式) 并利用CountDownLatch类在多线程下比较效率
- 黑板架构模式及其常见实现方式
- 黑板模式的常见实现方式
- 常见设计模式的解析和实现(C++)之十九-Memento模式
- 常见设计模式的解析和实现(C++)之二十一-完结篇
- 五种 Ajax 反模式:避免常见的 Ajax 代码陷阱
- 常见设计模式的解析和实现(C++)之十七-State模式
- 常见设计模式的解析和实现(C++)之十八-Iterator模式