设计模式入门-单例模式

Posted 享叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式入门-单例模式相关的知识,希望对你有一定的参考价值。

一.概念理解:

1.什么是单例模式?

就是整个类就有一个实例,并提供一个访问它的全局访问点。

2.单例模式的存在形式?

饥汉模式、饱汉模式,双重锁模式

3.类结构图

二.代码示演

1.饥汉模式

public class SingletonHungry 
	private static SingletonHungry singleton = new SingletonHungry();

	private SingletonHungry() 

	

	public static SingletonHungry getInstance() 
		return singleton;
	

2.饱汉模式

public class SingletonFull 
	private static SingletonFull singleton;

	private SingletonFull() 

	

	public static synchronized SingletonFull getInstance() 
		if (singleton == null)
			singleton = new SingletonFull();
		return singleton;
	

3.双重锁模式

public class SingletonTwoBlotLock 
	private static SingletonTwoBlotLock singleton;

	private SingletonTwoBlotLock() 

	

	public static SingletonTwoBlotLock getInstance() 
		if (singleton == null) 
			synchronized (SingletonTwoBlotLock.class) 
				if (singleton == null) 
					singleton = new SingletonTwoBlotLock();
				
			
		
		return singleton;
	

运行结果:

以上是关于设计模式入门-单例模式的主要内容,如果未能解决你的问题,请参考以下文章

入门设计模式之单例

Python入门之Python的单例模式和元类

设计模式入门-单例模式

单例设计模式入门

单例模式(从放弃到入门)

设计模式简单入门---单例模式