Java设计模式之单例设计模式

Java单例设计模式,有多种实现方式,下面介绍一下比较著名的一些实现方式

  1. 饿汉式

    这种设计模式简单,且没有多线程安全问题,一般实际开发时选用这种方式。

class HungeryDemo
{
	private HungeryDemo(){}
	private static final HungeryDemo instance = new HungeryDemo();
	public static HungeryDemo getInstance()
	{
		return instance;
	}
}

2.懒汉式

    这种模式,会延迟加载,效率较高。

    这种设计模式较为复杂,存在多线程安全问题。可以用同步函数或同步代码块,为了避免每次都要

    判断锁,采用同步代码块加双重判断的方式来解决线程安全问题。注意锁应该是该类的字节码文件 

    

class LazyDemo
{
	private LazyDemo(){}
	private static LazyDemo instance = null;
	public static LazyDemo getInstance()
	{
		if(instance==null)
		{
			synchronized(LazyDemo.class)
			{
				if(instance==null)
				{
					instance = new LazyDemo();
				}
			}
		}
		return instance;
	}
}

    

本文出自 “行意天下” 博客,请务必保留此出处http://4259297.blog.51cto.com/4249297/1657214

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。