/**
* @program: singleton
* @description: 懶漢模式,單例例項在第一次使用時進行建立,非執行緒安全* @author: mr.superbeyone
* @create: 2018-09-30 09:15
**/public
class
singletondemo1
//單例物件
private
static singletondemo1 instance = null;
//靜態工廠方法
public
static singletondemo1 getinstance()
return instance;
}}
/**
* @program: singleton
* @description: 餓漢模式,單例例項在類裝載時進行建立,執行緒安全* @author: mr.superbeyone
* @create: 2018-09-30 09:21
**/public
class
singletondemo2
//單例物件
private
static singletondemo2 instance =
newsingletondemo2()
;//靜態的工廠方法
public
static singletondemo2 getinstance()
}
/**
* @program: singleton
* @description: 懶漢模式,單例例項在第一次使用時進行建立,執行緒安全,不推薦使用* @author: mr.superbeyone
* @create: 2018-09-30 09:29
**/public
class
singletondemo3
//單例物件
private
static singletondemo3 instance = null;
//靜態工廠方法
public
static
synchronized singletondemo3 getinstance()
return instance;
}}
/**
* @program: singleton
* @description: 懶漢模式,雙重同步鎖單例模式,單例例項在第一次使用時建立,非執行緒安全* @author: mr.superbeyone
* @create: 2018-09-30 09:38
**/public
class
singletondemo4
//單例物件
private
static singletondemo4 instance = null;
//靜態工廠方法
public
static singletondemo4 getinstance()
}}return instance;
}}
/**
* @program: singleton
* @description: 懶漢模式,雙重同步鎖單例模式,單例例項在第一次使用時建立,執行緒安全* @author: mr.superbeyone
* @create: 2018-09-30 09:45
**/public
class
singletondemo5
//單例物件 volatile + 雙重檢測機制 -> 禁止指令重排
private
volatile
static singletondemo5 instance = null;
//靜態工廠方法
public
static singletondemo5 getinstance()
}}return instance;
}}
/**
* @program: my-blog
* @description: 餓漢模式,單例例項在類裝載時進行建立,執行緒安全* @author: mr.superbeyone
* @create: 2018-09-30 09:56
**/public
class
singletondemo6
//單例物件
private
static singletondemo6 instance = null;
static
//靜態工廠方法
public
static singletondemo6 getinstance()
}
/**
* @program: singleton
* @description: 列舉模式,執行緒安全,推薦使用* @author: mr.superbeyone
* @create: 2018-09-30 09:59
**/public
class
singletondemo7
public
static singletondemo7 getinstance()
private
enum singleton
private singletondemo7 getinstance()
}}
單例模式的7種寫法
在介紹單例模式的寫法之前,我們有必要了解一下什麼是單例模式。單例模式是一種常用的軟體設計模式,在他的核心結構中只包含乙個被稱為 單例的特殊類。通過單例模式可以保證系統只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的...
單例模式的7種寫法
設計模式 design pattern 一共有23種,而單例模式 singleton pattern 是 其中最簡單的設計模式之一,這種模式涉及到乙個單一的類,該類負責建立自己的物件,同時確保只有單個物件被建立。單例模式有很多種寫法,下面我們介紹一下常見的7種寫法。單例模式有幾個注意點 常見的單例模...
java單例模式的7種寫法
很不錯。懶漢 2種,執行緒安全和執行緒不安全 餓漢 classloader,和static塊變種 雙重校驗鎖,列舉和靜態內部類。幾種之間的區別就是為了避免不同環境下的缺陷。下面就列舉型別的單例模式說明 package com.zoer.src public enum singletonexample...