`
dannyhz
  • 浏览: 392976 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

单例 懒汉式且使用 synchronized

 
阅读更多

package com.statestr.gcth.application.dao.impl;

public class LazySingleton {
	
	private LazySingleton(){
		
	}

	public synchronized static LazySingleton obtainInstance(){
		return (instance == null) ? new LazySingleton() : instance;
	}
	
	private static LazySingleton instance;
	
	
	public static void main(String[] args) {
		Thread a = new Thread(new Runnable() {
			
			@Override
			public void run() {
				
				LazySingleton.obtainInstance();
				
			}
		});
		
		Thread b = new Thread(new Runnable() {
			
			@Override
			public void run() {
				
				LazySingleton.obtainInstance();
				
			}
		});
		
		
		a.start();
		b.start();
		
		
		while(true){
			
		}
	}
}


分享到:
评论

相关推荐

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

    懒汉式单例模式是一种延迟加载的单例模式,即只有在需要使用该对象时才创建实例对象。下面是一个懒汉式单例模式的实现示例: ```java public class Empolyee { //构造方法私有 private Empolyee() {} //自己...

    java + 单例模式 + 懒汉式 + 资源

    1. **单例特性**:无论是饿汉式还是懒汉式,都确保了类只有一个实例,且提供全局访问点。 2. **实例共享**:多次调用getInstance()返回的是同一个对象实例,保证了对象的唯一性。 总的来说,选择哪种方式取决于对...

    C++实现单例模式(懒汉式)源码

    懒汉式单例的特点是延迟初始化,即只有在第一次使用时才会创建实例,这有助于提高程序的运行效率。 一、懒汉式单例模式的实现原理 懒汉式单例的关键在于确保线程安全和唯一实例。线程安全通常通过同步机制来保证,...

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

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

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

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

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

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

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

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

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

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

    java单例设计模式-饿汉式-懒汉式 (2).docx

    为了解决性能问题,可以使用双重检查锁定(Double-Check Locking)优化懒汉式单例: ```java public class Singleton { private volatile static Singleton instance; private Singleton() {} public static ...

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

    懒汉式单例模式的特点是延迟加载,即只有在第一次使用时才会创建实例,这样可以提高系统性能,因为如果单例对象从未被使用,那么就不会消耗内存。 在Java中,懒汉式的单例模式通常通过双重检查锁定(Double-Check ...

    设计模式——单例模式

    懒汉式单例模式则是在第一次调用 `getInstance()` 方法时才创建实例,实现了真正的按需创建。但由于多线程环境下可能出现多个实例,因此需要进行同步控制。 ```java public class Singleton { private static ...

    java单例设计模式-饿汉式-懒汉式[参照].pdf

    在Java中,单例模式有两种常见的实现方式:饿汉式和懒汉式。 1. **饿汉式**: 饿汉式单例在类加载时即创建了实例,因此它是线程安全的。这种方式保证了类加载后就立即初始化单例对象,避免了多线程环境下的同步...

    java单例设计模式-饿汉式-懒汉式.pdf

    Java 单例设计模式主要分为两种实现方式:饿汉式和懒汉式。这两种方式都是为了确保一个类只有一个实例,并且提供全局访问点。 **饿汉式**: 饿汉式单例在类加载时就完成了实例化,因此是静态常量的方式,确保了线程...

    java单例设计模式-饿汉式-懒汉式.docx

    Java中的单例设计模式是一种常用的设计模式,它确保一个类只有一个实例,并且提供一个全局访问点。...而懒汉式适用于需要延迟加载且考虑多线程环境的情况,使用双重检查锁定可以兼顾线程安全和性能。

    java单例设计模式-饿汉式-懒汉式 (2).pdf

    懒汉式在首次调用`getInstance()`方法时才创建单例对象,实现了延迟加载。但是,非线程安全的懒汉式在多线程环境下可能会创建多个实例。示例代码如下: ```java public class Singleton { private static ...

    synchronized与单例的线程安全

    3. 懒汉式(线程安全):在多线程环境中,使用`synchronized`保证实例化过程的线程安全,但可能导致性能下降。 ```java public class Singleton { private static Singleton INSTANCE; private Singleton() {} ...

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

    通过使用内部类来实现懒汉式单例模式,可以避免显式地同步代码。 **示例代码**: ```java public class Singleton { // 私有化构造器 private Singleton() {} // 使用内部类来实现延迟加载 private static ...

    java单例设计模式-饿汉式-懒汉式[归纳].pdf

    总结,Java单例设计模式通过饿汉式和懒汉式实现,饿汉式在类加载时创建实例,适用于不需要延迟加载的情况;懒汉式在首次调用时创建,但在多线程环境下需要额外的同步措施以保证线程安全。在实际应用中,应根据具体...

    单例模式详解

    懒汉式单例是在使用时才创建实例的单例模式。这种方式的优点是避免了无用的创建过程,但缺点是需要加锁以保证线程安全。 ```java public class Singleton { // 私有的默认构造子 private Singleton() {} // 已经...

    Java实现单例模式之饿汉式、懒汉式、枚举式

    因此,懒汉式通常需要配合同步控制来保证线程安全,例如使用synchronized关键字或者双重检查锁定(Double-Check Locking)。以下是几种懒汉式的实现: 1. **非线程安全懒汉式**: ```java public class ...

Global site tag (gtag.js) - Google Analytics