单例(Singleton)模式

简介: Ensure a class has only one instance,and provide a global point of access to it.(确保一个类只有一个实例,而且自行实例化并向整个系统提供该实例)

如果要保证系统里一个类最多只能存在一个实例时,我们就需要单例模式.


public class Singleton{
   public static Singleton instance=new Singleton();
  //other fields
  private Singeton(){}
  public static Singleton getInstance(){
       return instance;
}
  //other methods
}

public class ThreadSafeSingleton{
	private volatile static ThreadSafeSingleton instance;
	private ThreadSafeSingleton(){};
	public static  ThreadSafeSingleton getInstance(){
		if(instance==null){
		
		synchronisezd(ThreadSafeSingleton.class){
		if(instance==null)
		instance =new ThreadSafeSingleton();
		}
	
	}
	return instance;
}
}




目录
相关文章
|
10月前
|
设计模式 存储
static应用之 单例设计模式(饿汉单例&懒汉单例)
本章我们来学习单例模式中的饿汉单例和懒汉单例,那么什么是单例模式呢?应用该模式的这个类永远只有一个实列,即一个类只能创建一个对象例如电脑上的任务管理器对象只需要一个就能解决问题,可以节省内存空间先定义一个类,把构造器私有如下图,先来看一下没有把构造器私有化的SingleInstance类,此时Test类中可以随意创建多个SingleInstance的实例化。 在SingleInstance类中用private修饰无参构造器,此时左边new方法报错了。我们在右边创建一个静态变量来存储对象,变量名为instan
44 0
|
3月前
|
安全 Java
线程安全的单例模式(Singleton)
线程安全的单例模式(Singleton)
|
27天前
|
设计模式 安全 Java
Singleton 的双重检查锁定
【8月更文挑战第23天】
35 2
|
安全 C#
单例模式(Singleton)
单例模式(Singleton)
63 0
@Singleton和@ApplicationScoped的区别
在JakartaEE的CDI标准中@Singleton和@ApplicationScoped的区别
354 0
|
设计模式 存储 安全
|
设计模式 Java
浅谈单例模式(Singleton)
单例模式的介绍 优点 缺点 Synchronized Synchronized示例 Synchronized与非Synchronized Singleton 第一个示例 第二个示例 第三个示例 第四个示例 第五个示例
134 0
|
测试技术 iOS开发 开发者
你真的能写好一个单例么?
单例可能是 iOS 开发者最熟悉设计模式之一了。 我们的项目里头也使用了很多单例。 最近为了解决项目中单例的 bug 而花费了两天多的时间,发现用 ObjC 写好一个单例真的不容易! V1.
790 0
单例模式(singleton)
转载 确保对象的唯一性——单例模式 (一)确保对象的唯一性——单例模式 (二)确保对象的唯一性——单例模式 (三)确保对象的唯一性——单例模式 (四)确保对象的唯一性——单例模式 (五)
916 0