java中的單例設計模式

來源:互聯網
上載者:User

標籤:餓漢式   stat   訪問   同步   安全執行緒   靜態方法   執行個體   通過   解決   

一.餓漢式,安全執行緒的。

package com.cal;

public class SingleTon {
//1.私人的構造方法,不應許new對象
private SingleTon(){}
//2.自己提供一個私人的靜態對象
private static SingleTon instance = new SingleTon();
//3.給外部提供一個公用的靜態方法
public static SingleTon getInstance(){
return instance;
}
}

二。懶漢式

懶漢式的特點:執行個體的消極式載入
會出現的問題:多線程訪問時會出現安全問題
解決方案:用同步方法或者同步代碼塊都行,
但是有些低效,可以通過雙重判斷,減少判斷鎖的次數,稍微提高效率。
加同步時候:使用的鎖是該類的位元組碼對象

package com.cal;

public class SingleTon {
//1.私人的構造方法,不應許new對象
private SingleTon(){}
//2.自己提供一個對象
private static SingleTon instance = null;
//3.給外部提供一個公用的靜態方法
public static SingleTon getInstance(){
if(instance==null){//這個判斷是為了減少加鎖的次數,從而提高效率
synchronized(SingleTon.class){//在建立對象的時候要加鎖
if(instance==null){//只有當引用為空白的時候才加鎖
instance = new SingleTon();
}
}
}
return instance;
}
}

 

java中的單例設計模式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.