`

单例模式(饿汉 vs懒汉)

阅读更多
package 单例模式;
/*
 * 应用场景:保证在整个应用之中某个对象的实例只有一个
 * 单例模式种的《 懒汉模式》  
 * */
public class Singleton {
	
	//01 将构造方法私有化,外界就无法用new Singleton()的方式获得实例
	private Singleton(){};
	
	//02 申明类得唯一实例
	private static Singleton instance = null;
	
	//为外界提供获得实例的方法
	public static Singleton getInstance(){
		if(null == instance){//懒汉模式    在Singleton类加载时并没有创建Singleton的实例,当Singleton的实例为null时才创建
			instance=new Singleton();
		}
		return instance;
	}

}


package 单例模式;
/*
 * 应用场景:保证在整个应用之中某个对象的实例只有一个
 * 单例模式种的《 饿汉模式》  较之懒汉模式线程较安全
 * */
public class Singleton1 {
	
	//01 将构造方法私有化,外界就无法用new Singleton()的方式获得实例
	private Singleton1(){};
	
	//02 创建实例
	private static Singleton1 instance = new Singleton1();//饿汉模式 是在类加载时就创建实例
	
	//为外界提供获得实例的方法
	public static Singleton1 getInstance(){
		return instance;
	}

}


package 单例模式;

public class Test {

	public static void main(String[] args) {
		
		Singleton singleton = Singleton.getInstance();
		System.out.println(singleton);
	}
	
}
分享到:
评论

相关推荐

    单例模式(饿汉模式、懒汉模式、DCL单例模式、枚举)

    本文将详细讨论四种常见的单例实现方式:饿汉模式、懒汉模式、双重检查锁定(DCL)单例模式以及枚举单例。 1. **饿汉模式**: 饿汉模式是在类加载时就完成了实例化,避免了线程同步问题。这种方式简单且安全,但...

    java 单例模式(懒汉式与饿汉式)

    Java 单例模式(懒汉式与饿汉式) Java 单例模式是一种常用的软件设计模式,在它的可信结构中只包含一个被实例化单例的特殊类。通过单例设计模式可以把整系统中的一个类只有一个实例。单例设计模式又分为两种方式,...

    QT_C++单例模式懒汉+饿汉.rar

    "QT_C++单例模式懒汉+饿汉.rar"是一个压缩包,包含了关于C++在QT环境下实现单例模式的实例,分为懒汉式和饿汉式两种实现方式。 首先,我们来看一下单例模式的基本原理。单例模式通常用于那些需要频繁实例化然后销毁...

    设计模式——单例模式

    实现单例模式主要有两种方式:饿汉式和懒汉式。 ### **饿汉式单例模式** 饿汉式单例模式在类加载时就完成了实例化,因此也称为静态初始化。这种方式保证了线程安全,但可能会造成不必要的资源浪费,因为即使未使用...

    设计模式——单例模式(懒汉模式)

    除了DCL之外,还有一种饿汉式单例模式,它在类加载时就完成了实例化,虽然牺牲了懒加载的特性,但提供了更高的效率和线程安全性。不过,对于那些不需要立即加载且生命周期较长的单例对象,懒汉式更加适用。 在实际...

    使用单例模式创建学生管理系统(饿汉式、懒汉式)

    在这个场景中,我们将探讨如何使用单例模式来创建一个学生管理系统,主要涉及“饿汉式”和“懒汉式”两种实现方式。 **饿汉式单例** 饿汉式单例在类加载时就完成了实例化,因此它是线程安全的。这种方式保证了单例...

    单例懒汉 饿汉 生成者消费者案例代码

    单例懒汉 饿汉 生成者消费者案例代码 在本文档中,我们将探讨单例...我们可以看到,单例懒汉和饿汉两种设计模式都可以用来实现单例模式,而冒泡排序、选择排序和 Arrays 工具类排序三种排序算法都可以用来实现排序。

    单例模式,懒汉模式和饿汉模式

    单例模式有多种实现方式,其中最常见的是懒汉模式和饿汉模式。 **懒汉模式** 是指在第一次需要时才创建单例对象,延迟了初始化的时间,因此称为“懒汉”。懒汉模式的主要优点是如果单例对象始终未被使用,那么就...

    java 单例模式(饿汉模式与懒汉模式).docx

    单例模式有两种常见的实现方式:饿汉模式和懒汉模式。 1. **饿汉模式**: - 饿汉模式的特点是在类加载时就完成了初始化,因此线程安全。它的实现方式是通过静态常量或者静态代码块来立即创建单例对象。 ```java ...

    单例模式(懒汉式,饿汉式)

    单例模式有两种常见的实现方式:懒汉式和饿汉式。 ### 懒汉式单例 懒汉式单例,顾名思义,是一种延迟初始化的单例模式,即在第一次调用时才创建实例。这种方式的优点是在需要的时候才创建对象,节省了内存资源;...

    java 单例模式(饿汉模式与懒汉模式)

    java 单例模式 饿汉式单例 对于饿汉模式,我们可这样理解:该单例类非常饿,迫切需要吃东西,所以它在类加载的时候就立即创建对象。 懒汉式单例类 对于懒汉模式,我们可以这样理解:该单例类非常懒,只有在自身...

    【ASP.NET编程知识】java 单例模式(饿汉模式与懒汉模式).docx

    单例模式分为两种主要实现方式:饿汉模式和懒汉模式。 1. **饿汉模式**: 饿汉模式在类加载时就完成了初始化,因此类加载时会立即创建单例对象。这种方式确保了线程安全,因为对象的创建在类加载时已经完成,不会...

    java 单例模式(懒汉式与饿汉式).docx

    java 单例模式(懒汉式与饿汉式) java 单例模式是一种常用的软件设计模式。在它的可信结构中只包含一个被实例化单例的特别类。通过单例设计模式可以把整系统中的一个类只有一个实例。单例设计模式又分为两种方式,...

    设计模式:创建型之原型(深浅拷贝)、单例(饿汉式与懒汉式),三大工厂模式 结构型之适配器模式,代理模式(三大代理)

    在描述中还提到了单例模式的两种实现方式:饿汉式和懒汉式。饿汉式在类加载时就完成了对象的初始化,懒汉式则是在第一次调用获取实例的方法时才创建对象。饿汉式简单且线程安全,但可能导致资源浪费;懒汉式节省资源...

    2种单例模式:1赖汉式:2饿汉式

    这里我们将详细探讨标题中提到的两种单例模式——"懒汉式"(Lazy Initialization)和"饿汉式"(Eager Initialization)。 1. **饿汉式单例模式** 饿汉式单例的特点是类加载时就完成了实例化,确保了线程安全,但...

    Java多线程-解决单例模式中的懒汉式的线程安全问题

    ### Java多线程—解决单例模式中的懒汉式的线程安全问题 #### 一、单例设计模式的线程安全问题 ##### (1)饿汉式没有线程安全问题 **饿汉式**是一种非常典型的单例模式实现方式,其特点是在类加载时就完成了实例...

    老生常谈C++的单例模式与线程安全单例模式(懒汉/饿汉)

    在C++编程中,单例模式是一种设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。这种模式常用于管理共享资源,如数据库连接、配置对象等。本文将讨论两种常见的单例实现方式:懒汉式和饿汉式,以及它们...

    C++单例模式懒汉式和饿汉式

    在C++中,单例模式的实现通常有两种常见的方式:懒汉式(Lazy Initialization)和饿汉式(Eager Initialization)。 1. 懒汉式单例模式: 懒汉式单例的特点是在第一次使用时才创建实例,即延迟初始化。这种设计的...

Global site tag (gtag.js) - Google Analytics