單例模式:單例模式的意思就是只有乙個
例項。單例模式確保某乙個類只有乙個例項,而且自行
例項化並向整個系統提供這個例項。這個類稱為單例類。
單例模式有三種:懶漢式單例,餓漢式單例,載入內部類單例。
public
class
singleton
//此類不能被例項化
public
static
synchronized singleton getinstance
() return singleton;
}}
優點:第一次呼叫才初始化,避免記憶體浪費。
缺點:必須加鎖synchronized 才能保證單例,(如果兩個執行緒同時呼叫getinstance方法,會chuxia)但加鎖會影響效率。
public
class
singleton
//此類不能被例項化
public
static singleton getinstance
()}
優點:沒有加鎖,執行效率會提高。
缺點:類載入時就初始化,浪費記憶體。
public
class
singleton
//構造方法是私有的,從而避免外界利用構造方法直接建立任意多例項。
public
static singleton getinstance
() private
static
class
holder
}
內部類只有在外部類被呼叫才載入,產生singleton例項;又不用加鎖。此模式有上述兩個模式的優點,遮蔽了它們的缺點,是最好的單例模式。 java基礎知識回顧(2)
一 switch後的小括號裡只能使用6種資料型別 byte short int char 列舉 字串。二 基本型別的值直接存在棧記憶體中,而陣列等引用型別的值存在堆記憶體中,棧記憶體只放陣列的位址。三 方法過載必須滿足三種情況 1 方法的名稱必須相同。2 方法的引數必須不同,這裡的不同分三種情況 a...
java基礎知識回顧(4)
一 基本資料型別 包裝類與string類之間的轉換 1 基本資料型別 包裝類 string類 呼叫string類的過載的valueof x 方法 int i1 10 integer i2 i1 轉為包裝類 stirng str1 string.valueof i1 轉為字串 2 string類 基本...
Java基礎知識回顧 6
1 遍歷 jar zip 檔案中的資源 file jar newfile myfile.jar zipinputstream zis new zipinputstream newfileinputstream jar try finally 2 遍歷web應用中的資源。setsubresources...