`

所谓“懒汉式”与“饿汉式”

阅读更多
所谓“懒汉式”与“饿汉式”的区别,是在与建立单例对象的时间不同。
1,“懒汉式”是在你真正用到的时候才去建这个单例对象:
	比如:有个单例对象
private static Student student = null;  //不建立对象
Student getInstance(){
        if(student == null) {        //先判断是否为空
                student = new Student();  //懒汉式做法 
        }
        return student;
}
 
2,“饿汉式”是在不管你用的用不上,一开始就建立这个单例对象:
	比如:有个单例对象
      	private static Student student = new Student(); //建立对象
      	Student getInstance(){
                return student;  //直接返回单例对象
      	}
 

 

分享到:
评论

相关推荐

    设计模式(一)——单例模式

    简介 定义:是确定一个类只有一个实例,而且自行进行实例化且向整个系统提供这个实例。 饿汉式单例:类加载时就进行了实例化 懒汉式单例:第一次使用时才进行...所谓饿汉式就是,需要的实例提前创建好,需要用时就能够

    多线程单例模式并发访问

    - **饿汉式**:在类装载时即完成初始化,避免了线程同步的问题。 - **懒汉式**:通过静态内部类或者双重检查锁定的方式来实现线程安全的懒加载单例模式,即在第一次使用时才初始化。 #### 十、线程安全的懒汉式单例...

    C#中单例的实现方法

    饿汉式(Static Singleton) 这是最简单也是最直接的单例实现方式,它在类加载时就立即创建实例,确保了线程安全。 ```csharp public class Singleton { private static readonly Singleton instance = new ...

    Java静态内部类实现单例过程

    在Java中,有多种实现单例的方式,包括饿汉式、懒汉式、双重检查锁定(DCL)、静态内部类和枚举。这里我们将重点讨论静态内部类和枚举实现单例的过程。 首先,让我们来看看静态内部类实现单例的方式: ```java ...

    求职宝典-Java 基础面试题

    - **饿汉式**:在类加载时就完成初始化,线程安全,但无法做到延迟加载。 - **懒汉式**:首次调用时才初始化,线程不安全,可以通过同步处理解决。 - **双检锁/双重校验锁(DCL)**:在多线程环境下保证单例的正确...

Global site tag (gtag.js) - Google Analytics