設計模式:對問題行之有效的解決方式,其實他是一種思想
單例設計模式:可以保證一個類在內存中的對象唯一性
必須對於多個程序使用同一個配置信息對象時,就需要保證該對象的唯一性
如何保證對象的唯一性?
1. 不允許其他程序使用new新建對象
2. 在該類創建一個本類實例
3. 對外提供一個方法讓其他程序可以獲取該對象
步驟:
1. 私有化該類構造函數(不能在其他類new該類對象)
2. 通過new在本類中創建一個實例
3. 定義一個公有方法,將創建的對象返回
單例設計模式-餓漢式:
class Single
{
private Single(){}
private static Single s = new Single();
public static Single getInstance()
{
return s;
}
public voidtestSingle()
{
System.out.println("This is test single instance mode...");
}
}
class SingleDemo
{
public static void main(String[] args)
{
Single ss = Single.getInstance();
ss.testSingle();
}
}
單例設計模式-懶漢式(單例設計模式的延遲加載模式)
class Single
{
private Single(){}
private static Single s = null;
public static Single getInstance()
{
if (s == null)
{
s = new Single();
}
return s;
}
public voidtestSingle()
{
System.out.println("This is test single instance mode...");
}
}
class SingleDemo
{
public static void main(String[] args)
{
Single ss = Single.getInstance();
ss.testSingle();
}
}
注意:實際開發中,常用的是餓漢式,因爲懶漢式存在安全隱患,當使用多線程併發程序的時候,可能保證不了對象的唯一性