單例模式 餓漢模式(靜態常量)

2021-09-25 18:41:00 字數 915 閱讀 9164

餓漢模式(靜態常量)

優缺點說明:

1) 優點:寫法比較簡單,就是在類裝載的時候就完成例項化。避免了執行緒同

步問題。

2) 缺點:在類裝載的時候就完成例項化,沒有達到lazy loading的效果。如果從始

至終從未使用過這個例項,則會造成記憶體的浪費

3) 這種方式基於classloder機制避免了多執行緒的同步問題,不過,instance在類裝載

時就例項化,在單例模式中大多數都是呼叫getinstance方法, 但是導致類裝載

的原因有很多種,因此不能確定有其他的方式(或者其他的靜態方法)導致類

裝載,這時候初始化instance就沒有達到lazy loading的效果

4) 結論:這種單例模式可用可能造成記憶體浪費

**實現

package com.it.singleton;

/*餓漢模式(靜態變數)*/

public class singleton1

/*本類內部建立物件例項*/

private final static singleton1 instance = new singleton1();

/*提供乙個公有的靜態方法,返回例項物件*/

public final static singleton1 getinstance()

}

測試:

package com.it.singleton.test;

import com.it.singleton.singleton1;

public class singletontest1

}

單例模式 餓漢模式

package singleton import sso.singlepattern 1.應用場景 有些物件只需要乙個例項,像老婆 2.作用 保證整個應用程式中某個例項只有乙個 3.型別 餓漢模式,懶漢模式 此例為餓漢模式,因為instance是static修飾,當類載入的時候就會被例項化,就像餓漢...

單例模式 餓漢模式

一.單例模式的應用場景 1.資源共享的情況下,避免由於資源操作造成的效能損耗,比如配置檔案的載入 2.控制資源的情況下,方便資源之間的通訊,比如資料庫連線池,執行緒池 二.基本模組 public class myobject public static myobject getinstance 測試...

單例模式(餓漢模式 懶漢模式)

餓漢單例模式 通過單例模式可以保證系統中,應用該模式的類乙個類只有乙個例項 即乙個類只有乙個物件例項 並提供乙個訪問它的全域性訪問點,該例項被所有程式模組共享。設計模式 一書中給出了一種很不錯的實現,定義乙個單例類,使用類的私有靜態指標變數指向類的唯一例項,並用乙個公有的靜態方法獲取該例項。分點表述...