成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

JAVA面試經(jīng)典合集2:怎樣寫出一個線程安全的單例模式

怎樣寫出一個線程安全的單例模式

創(chuàng)新互聯(lián)公司服務(wù)項目包括溪湖網(wǎng)站建設(shè)、溪湖網(wǎng)站制作、溪湖網(wǎng)頁制作以及溪湖網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,溪湖網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到溪湖省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

package com.chendan.mianshi;

/**
 * 
 * 
 * @Description
 * @author ChenDan 624665255@qq.com
 * @date 2019年8月4日下午8:47:13
 *
 */

public class MianShiTest2 {
    public static void main(String[] args) {
        // com.chendan.mianshi.SingleTon@1c53fd30
        // com.chendan.mianshi.SingleTon@1c53fd30
        // 可以看到結(jié)果一樣
        getInstanceEhs();

        // com.chendan.mianshi.SingleTon2@282ba1e
        // com.chendan.mianshi.SingleTon2@282ba1e
        getInstanceLhs();

        //com.chendan.mianshi.SingleTon3@f5f2bb7
        //com.chendan.mianshi.SingleTon3@f5f2bb7
        getInstanceLhs2();

    }

    // 餓漢式方法
    public static void getInstanceEhs() {
        // 調(diào)用GetInstance直接返回一個instance對象,且是唯一的
        SingleTon instance1 = SingleTon.getInstance();
        SingleTon instance2 = SingleTon.getInstance();
        // com.chendan.mianshi.SingleTon@1c53fd30
        System.out.println(instance1);
        // com.chendan.mianshi.SingleTon@1c53fd30
        System.out.println(instance2);
    }

    // 懶漢式方法

    public static void getInstanceLhs() {
        // 調(diào)用getInstance直接返回一個instance對象,且是唯一的
        SingleTon2 instance1 = SingleTon2.getInstance();
        SingleTon2 instance2 = SingleTon2.getInstance();
        // ccom.chendan.mianshi.SingleTon2@cad498c
        System.out.println(instance1);
        // com.chendan.mianshi.SingleTon2@cad498c
        System.out.println(instance2);
    }

    public static void getInstanceLhs2() {
        // 調(diào)用getInstance直接返回一個instance對象,且是唯一的
        SingleTon3 instance1 = SingleTon3.getInstance();
        SingleTon3 instance2 = SingleTon3.getInstance();
        // com.chendan.mianshi.SingleTon2@cad498c
        System.out.println(instance1);
        // com.chendan.mianshi.SingleTon2@cad498c
        System.out.println(instance2);
    }

}

//餓漢式直接初始化方法
class SingleTon {

    private SingleTon() {

    }

    // 餓漢式直接靜態(tài)初始化,保證唯一,但是初始類時就加載內(nèi)存,性能稍低
    private static SingleTon instance = new SingleTon();

    // 創(chuàng)建直接返回線程方法
    public static SingleTon getInstance() {
        return instance;
    }

}

//懶漢式靜態(tài)內(nèi)部類初始化方法
class SingleTon2 {

    private SingleTon2() {
    }

    private static class Singleton2Holder {
        public final static SingleTon2 instance = new SingleTon2();
    }

    public static SingleTon2 getInstance() {
        return Singleton2Holder.instance;
    }

}

class SingleTon3 {

    private SingleTon3() {
    }

    public static SingleTon3 instance = null;

    public static SingleTon3 getInstance() {

        if (instance == null) {
            synchronized (SingleTon3.class) {
                if (instance == null) {
                    instance = new SingleTon3();
                }
            }
        }

        return instance;

    }

}

總結(jié):最優(yōu)方法為內(nèi)部靜態(tài)類的方法,即方法2

當(dāng)前文章:JAVA面試經(jīng)典合集2:怎樣寫出一個線程安全的單例模式
轉(zhuǎn)載源于:http://jinyejixie.com/article32/ijdjpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器全網(wǎng)營銷推廣、網(wǎng)站設(shè)計公司Google、小程序開發(fā)網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
峨山| 明溪县| 千阳县| 河东区| 南宁市| 新巴尔虎右旗| 浦江县| 德惠市| 越西县| 和静县| 普兰店市| 沛县| 阿拉善左旗| 界首市| 开封县| 庄河市| 华宁县| 邵阳县| 泰来县| 家居| 台南县| 南澳县| 永清县| 广安市| 余江县| 嵩明县| 建瓯市| 高要市| 兴义市| 大埔区| 普兰店市| 米易县| 临漳县| 五华县| 襄城县| 永德县| 紫阳县| 酉阳| 山丹县| 彰化市| 尼勒克县|