五種單例模式

2021-10-08 01:36:22 字數 1236 閱讀 1181

1:餓漢模式

public

class

ehansingleton

//提供獲取單例物件的方法

public

static ehansingleton getinstance()

}2:懶漢式

//懶漢式

public

class

lanhansingleton

//提供獲取單例物件的方法:增加 synchronized 修飾,保證同一時間只有乙個執行緒執行此方法

public

synchronized

static lanhansingleton getinstance()

return lanhansingleton;

}}

3:匿名內部類實現

public

class

neibuleisingleton

//提供獲取單例物件的方法

public

static neibuleisingleton getinstance()

//匿名內部類生成單例物件

public

static

class

temp

}

4:註冊式單例

public

class

registersingleton

//提供獲取單例物件的方法

public

static registersingleton getinstance

(string name)

if(null == registermap.

get(name)

)return

(registersingleton) registermap.

get(name);}

}

5:列舉式單例

public

enum enumrsingleton

;}

測試:

public

static

void

main

(string[

] args)

throws interruptedexception }.

start()

;}}

五種單例模式

import settings class mysql instance none 原始狀態設為none def init self,ip,port self.ip ip self.port port classmethod deffrom conf cls if cls.instance is n...

五種單例模式實現

public class hunger private final static hunger hunger newhunger public static hunger getinstance 多個執行緒安全,但無法進行懶載入,如果類成員很多,則占用的資源比較多 public class lazy...

五種基本單例模式

注意 1 單例類只能在乙個jvm例項中有乙個例項。2 單例類必須自己建立自己的唯一例項。3 單例類必須給所有其他物件提供這一例項。接下來我們介紹一下我們常見到的幾種單例模式 正如其名 餓漢 類載入的時候就例項化,並且建立單例物件。優點 先天性執行緒安全 當類初始化的時候 該物件就會被建立 缺點 如果...