package single;
/** * 單例設計模式:餓漢式
* *@author administrator
* */
public
class
single
/*** 返回建立的例項物件
* *@return 例項物件
*/public
static single getinstance()
}
package single;
/** * 單例設計模式:懶漢式
* *@author administrator
* */
public
class
single
/*** 返回建立的例項物件
* 如果多個執行緒同時進來,並且同時卡到a點
* 那麼就不會達到單例,因此需要加synchronized
* *@return 建立的例項物件
*/public
static
synchronized single getinstance()
return single;
}}
package single;
/** * 單例設計模式:懶漢式
* *@author administrator
* */
public
class
single
/*** 返回建立的例項物件
* 執行緒a拿到鎖,到達c點 sleep了
* 執行緒b進來了到達a點,有鎖,進不去,
* 執行緒a醒來之後,建立例項,返回
* 執行緒c到達d點判斷,進不去,直接返回
* 執行緒d到達d點判斷,進不去,直接返回
* 。。。。
* *
* 這樣就減少了判斷鎖的次數
* * 鎖:因為程式都是靜態實現,在呼叫方法的時候並沒有this
* 因此使用當前檔案的.class檔案
* *@return 例項物件
*/public
static single getinstance()}}
return single;
}}
單例模式(java兩種方式實現)
測試類 public class singletontest1 單例類 class singleton 構造方法私有帶來乙個問題,就是不能產生例項了,所以通過寫乙個方法返回乙個例項 第二步 public static singleton getinstance 必須為static 這樣在main中才...
兩種單例設計模式
設計模式是在大量的實踐中總結和理論化之後優選的 結構 程式設計風格 以及解決問題的思考方式。設計模式就像是經典的棋譜,不同的棋局,我們用不同的棋譜,免去我們自己再思考和摸索。所謂類的單例設計模式,就是採取一定的方法保證在整個的軟體系統中,對某個類只能存在乙個物件例項,並且該類只提供乙個取得其物件例項...
java中單例設計模式的兩種實現方式
public class singletondemo 餓漢式單例模式 餓漢式要先宣告物件,然後構造方法私有,返回乙個對外可以訪問的靜態方法 author administrator class singleton1 public static singleton1 getinstence publi...