关于单例模式中,饿汉式和懒汉式有什么区别?
2012-11-12 21:33
375 查看
1. 饿汉式是线程安全的,在类创建的同时就已经创建好一个静态的对象供系统使用,以后不在改变。
public class EagerSingleton { private static final EagerSingleton m_instance = new EagerSingleton(); /** * 私有的默认构造子 */ private EagerSingleton() { } /** * 静态工厂方法 */ public static EagerSingleton getInstance() { return m_instance; } }
2.懒汉式如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的,但是我们可以改造一下。
public class LazySingleton { //声明一个静态锁 private static readonly object lockHelper = new object(); //私有构造函数 private LazySingleton() { } public static LazySingleton instence = null; //静态属性 public static LazySingleton Instence { get { if (instence == null) { lock (lockHelper) { if (instence == null) { instence = new LazySingleton(); } } } return instence; } } }
相关文章推荐
- 单例模式中,饿汉式和懒汉式有什么区别?各适合用在哪里?为什么说推荐用饿汉模式?
- 单例模式中,饿汉式和懒汉式有什么区别?各适合用在哪里?为什么说推荐用饿汉模式?
- 【单例设计模式】懒汉式跟饿汉式的区别
- android之单例模式:懒汉式和饿汉式的区别
- 单例模式中饿汉式和懒汉式的区别
- java二十三种设计模式----(二)单例设计模式 :“懒汉式”与“饿汉式”的区别 为什么通常使用饿汉式
- 牛客网Java刷题知识点之什么是单例模式?解决了什么问题?饿汉式单例(开发时常用)、懒汉式单例(面试时常用)、单例设计模式的内存图解
- java 单例模式:饿汉式与懒汉式 区别
- 单例模式中,懒汉式和饿汉式的区别
- 懒汉式单例模式和饿汉式单例模式的区别
- 单例设计模式之饿汉式和懒汉式的区别
- 单例设计模式(懒汉式和饿汉式区别)
- 饿汉式与懒汉式单例模式的区别
- Java中如果把构造方法也私有化,如何创建对象?Java的单例设计模式——饿汉式和懒汉式区别
- JAVA单例设计模式(饿汉式和懒汉式的区别)
- 单例模式中,懒汉式和饿汉式的区别
- 单例模式中,饿汉式和懒汉式的区别?为什么推荐说 用饿汉模式?
- 黑马程序员-----关于懒汉式和饿汉式小结
- 爱创课堂每日一题第二天8/24日 Quirks模式是什么?它和Standards模式有什么区别?
- 设计模式中饿汉式单例类和懒汉式单例类