java單例問題

2021-09-24 15:58:29 字數 749 閱讀 3864

之前看資料,有人根據物件的建立時間將單例的實現分為懶漢式和餓漢式:

懶漢式:

1

public

class

singleton 78

public

static

singleton getinstance() 14}

15}16return

instance;17}

18 }

1 通過延遲載入,提高記憶體使用效率;

2 雙重為空判斷:第乙個判斷可以減少鎖判斷;第二個判斷可以減少物件重複重複建立;

餓漢式:

1

public

class

singleton 89

public

static

singleton getinstance()

12 }

1 **精簡;

2 通過靜態實現在類載入時就建立物件,避免了同步問題;但是也造成例項化過早,存在記憶體浪費;

按需餓漢式:

public

class

singleton

public

static

singleton getinstance()

private

static

class

quote

}

1 使用內部類來建立物件,實現延遲載入;

java面試中單例問題

public class singltontest private static singltontest st public static singltontest getinstance synchronized singltontest.class return st 最開始的版本1.1 疏忽...

java單例模式

第一種方法 public class singleton private static singleton singleton new singleton public static singleton getinstance 第二種方法 public class singleton private...

Java 單例模式

單例模式特點 1 單例類只能有乙個例項。2 單例類必須自己自己建立自己的唯一例項。3 單例類必須給所有其他物件提供這一例項。一 餓漢式單例 基於classloder機制避免了多執行緒的同步問題,使用較多 public class singleton 這裡提供了乙個供外部訪問本class的靜態方法,可...