絎竴縐嶏細鍦ㄥ0鏄庡彉閲忓嚭瀹炰緥鍖栧璞★紙涔熷彨 楗挎眽寮?鍗曚緥妯″紡錛変唬鐮佸涓嬶細
package com.zds.pattern.singleton;

/** *//**
* @author sam E-mail:ashan8888@163.com
* @version 1.0
*/

public class SingletonA
{
private static SingletonA singletonA = new SingletonA();

private SingletonA()
{
System.out.println("楗挎眽寮?/span>");
}

public static SingletonA getInstance()
{
return singletonA;
}
}

絎簩縐嶏細鎶婂璞$殑鍒涘緩鏀懼埌鏂規硶閲岃竟鍘伙紙涔熻緝 鎳掓眽寮?鍗曚緥妯″紡錛変唬鐮佸涓嬶細
package com.zds.pattern.singleton;


/** *//**
* @author sam E-mail:ashan8888@163.com
* @version 1.0
*/

public class SingletonB
{
private static SingletonB singletonB;


private SingletonB()
{
System.out.println("鎳掓眽寮?/span>");
}

synchronized public static SingletonB getInstance()
{


if (singletonB == null)
{
singletonB = new SingletonB();
}
return singletonB;
}
}

絎笁縐嶏細鍙︾被鎳掓眽寮忔柟寮忥細浠g爜濡備笅錛?br />
package com.zds.pattern.singleton;

/** *//**
* @author sam E-mail:ashan8888@163.com
* @version 1.0
*/

public class SingletonC
{

static class SingletonHolder
{
static SingletonC instance = new SingletonC();
}

private SingletonC()
{
System.out.println("鍙︾被鎳掓眽寮?/span>");
}

public static SingletonC getInstance()
{
return SingletonHolder.instance;
}
}

浠栦滑涔嬮棿鏈変粈涔堟湁緙虹偣鍛紵錛?鍏堟潵鐪嬬涓縐嶆柟寮忥細鎳掓眽寮?br />
浼樼偣錛氬湪鍒濆鍖栫殑鏃跺欏垱寤哄璞★紝璋冪敤getInstance鐨勬椂鍊欙紝娌℃湁鍚屾鏂規硶錛屾ц兘杈冮珮銆?br />
緙虹偣錛氬彲鑳藉鑷存暟鎹繕鏈垵濮嬪畬灝卞垱寤轟簡瀵硅薄錛屾晠鏈夊彲鑳藉璞℃暟鎹垵濮嬩笉姝g‘銆?br />
涓婅竟絎竴孌典唬鐮佷緥瀛愬お綆鍗曚簡錛岀湅涓嶆垚浠諱綍闂錛岄偅涔堟潵鍐欎竴涓彲鑳戒駭鐢熼棶棰樼殑渚嬪瓙鐪嬬湅錛氫唬鐮佸涓嬶細
package com.zds.pattern.singleton;


/** *//**
* @author sam E-mail:ashan8888@163.com
* @version 1.0
*/

public class SingletonAa
{
private static SingletonAa singletonAa = new SingletonAa();

public static String name = "sam";

public static String password;

static
{
password = "tiger";
}

private SingletonAa()
{
if(name.equals("sam")) System.out.println("name is ok");
if(password.equals("tiger")) System.out.println(" password is ok");
}


public static SingletonAa getInstance()
{
return singletonAa;
}
}

鍐欏埌榪欎釜鍦版柟錛屾槸涓嶆槸鑳界湅鍑虹偣鐪夌洰浜嗭紝鍛靛懙錛屼笂杈逛唬鐮佹槸涓嶆槸浼氭姏鍑猴細java.lang.NullPointerException寮傚父錛屼負浠涔堝憿錛屽緢綆鍗曪紝鎴戜滑鐭ラ亾
綾葷殑鍔犺澆榪囩▼鏄粈涔堬細 瑁呰澆----楠岃瘉 ---鍑嗗---瑙f瀽---鍒濆鍖栥傚垵濮嬪寲涔嬪墠錛岀被鍔犺澆鍣ㄤ細鎶婃墍鏈夊彉閲忛兘榛樿涓哄搴旂被鍨嬬殑榛樿鍊箋傚鍚堢被鍨嬪彉閲忔槸涓嶆槸涓簄ull錛岃屽湪鍒濆鐨勬椂鍊欙紝涓婅竟鐨勭涓鏉¤鍙ュ氨new浜嗘湰韜紝鍦ㄨ繘鍏ユ瀯閫犲櫒鍑芥暟鐨勬椂鍊欙紝鏄笉鏄氨浜х敓浜嗛敊璇?br />
絎簩縐嶅垱寤烘柟寮忕殑浼樼己鐐癸細
銆銆銆浼樼偣錛氶伩鍏嶄簡絎竴縐嶆柟寮忓彲鑳戒駭鐢熺殑閿欒銆?br />
銆銆銆緙虹偣錛氫笉鍒╀簬鐢ㄥ湪澶氱嚎紼嬩笂錛屽洜涓轟粬浣跨敤浜嗛攣錛岃繖鏍峰湪璧勬簮涓婃湁寰堝ぇ嫻垂銆?br />
銆銆銆鍚庢潵鏈変漢鎻愬嚭浜嗗弻媯鏌ュ崟渚嬫ā寮忥紝鍙傝冭祫鏂欏湪錛?a >http://www.ibm.com/developerworks/java/library/j-dcl.html?dwzone=java銆
絎笁縐嶅垱寤烘柟寮忕殑浼樼己鐐癸細錛圔ob lee鍒涘緩鐨勶級
銆銆銆浼樼偣錛?緇煎悎浜嗕笂璇変袱縐嶆柟娉曠殑浼樼偣錛屾晠錛屾垜姣旇緝鎺ㄨ崘浣跨敤榪欑鏂瑰紡錛?br />

]]>