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;
	}
}

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章