單例模式的效能優化

2022-08-29 04:57:07 字數 937 閱讀 7935

//單例模式 ①

public

class singleton

//宣告static,在jvm載入單例類時,單例物件就會被建立

private

static singleton singletion = new singleton();

public

static singleton getinstance()

}//①中,由於jvm在載入單例類時,單例物件就被建立;當單例類在其他**中扮演了其他的角色時,那麼在任何使用這個單例類的地方都會初始化這個單例變數。

//不管是否有被用到。所以,當建立單例很慢時,這種方式就存在不足了。

//解決思路:即在jvm載入單例類時,單例物件沒有被建立;當需要使用單例物件時,才建立

//單例模式   ②

//不足:雖然實現了延遲載入功能,但在多執行緒環境下,耗時要比①高

public

class singleton

private

static singleton singleton = null;

//同步,防止多執行緒環境下建立多個例項

public

static

synchronized singleton getinstance()

return singleton;}}

//單例模式  ③

//當singleton載入時,不會初始化其內部類;只有在呼叫getinstance這個方法時,才會載入內部類singletonholder,實現了延遲載入的功能,又降低系統效能。

public

class singleton

private

static

class singletonholder

public

static singleton getinstance()

}

Java效能優化之設計模式 單例模式

單例模式是一種常用的軟體設計模式,常被用於乙個系統中乙個類只存在乙個例項的場合,從而方便對例項個數的控制並節約系統資源。簡而言之,單例模式就是保證乙個類最多只能存在乙個例項物件。使用場景 1 對應於頻繁使用的物件,可以省略建立物件所花費的時間,對於一些大型物件,是一筆可觀的開銷。2 由於減少了new...

優化單例模式

單例模式 用於產生物件的具體例項,可以確保系統中乙個類只產生乙個例項。好處是,省略建立物件所花費的時間 減少系統記憶體的使用率,降低gc壓力,縮短gc停頓時間。餓漢模式 public class singleton private static singleton instance new sing...

JAVA單例模式優化

說說 餓漢式與懶漢式 餓漢式 是執行緒安全的 類載入的時候,就會生成例項物件,未支援 延遲載入,在還未用到之前,一直占用記憶體。用內部類的形式實現單例,既可以解決延遲載入,也不必使用同步關鍵字 public class staticsingleton private static class sin...