国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

慕課網_《模式的秘密之單例模式》學習總結

afishhhhh / 2937人閱讀

時間:2017年08月27日星期日
說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com
教學源碼:https://github.com/zccodere/s...
學習源碼:https://github.com/zccodere/s...

第一章:單例模式簡介 1-1 簡介

單例模式

概念及應用場合
餓漢模式
懶漢模式
餓漢模式與懶漢模式的區別

什么是設計模式

是一套被反復使用、多數人知曉的
經過分類編目的、代碼設計經驗的總結

目的

使用設計模式是為了可重用代碼
讓代碼更容易被他人理解、保證代碼可靠性

單例設計模式

有些對象我們只需要一個,比如:配置文件、工具類、線程池、緩存、日志對象等
如果創造出多個實例,就會導致許多問題,比如占用過多資源,不一致到結果等
保證整個應用中某個實例有且只有一個
第二章:單例模式實現 2-1 餓漢式實現

代碼編寫

1.編寫Singleton類

package com.myimooc.designpattern.c1singleton;

/**
 * @describe 單例模式Singleton-餓漢模式:當類被加載時,就創建實例
 * 應用場合:有些對象只需要一個就足夠了,古古代皇帝
 * 作用:保證整個應用程序中某個實例有且只有一個
 * 類型:餓漢模式、懶漢模式
 * @author zc
 * @version 1.0 2017-08-27
 */
public class Singleton {
    
    // 1.將構造方法私有化,不允許外部直接創建對象
    private Singleton(){
        
    }
    
    // 2.創建類的唯一實例,使用private static
    private static Singleton instance = new Singleton();
    
    // 3.提供一個用于獲取實例的方法,使用public static
    public static Singleton getInstance(){
        return instance;
    }
}

2.編寫Test類

package com.myimooc.designpattern.c1singleton;

public class Test {
    
    public static void main(String[] args) {
        
        // 餓漢模式
        Singleton s1 = Singleton.getInstance();
        Singleton s2 = Singleton.getInstance();
        if( s1 == s2){
            System.out.println("s1和s2是同一個實例");
        }else{
            System.out.println("s1和s2是不同一個實例");
        }
        
    }
}
2-2 懶漢式實現

代碼編寫

1.編寫Singleton2類

package com.myimooc.designpattern.c1singleton;

/**
 * @describe 單例模式Singleton-懶漢模式:當用戶獲取的時候,才創建實例
 * 應用場合:有些對象只需要一個就足夠了,古古代皇帝
 * 作用:保證整個應用程序中某個實例有且只有一個
 * 類型:餓漢模式、懶漢模式
 * @author zc
 * @version 1.0 2017-08-27
 */
public class Singleton2 {
    
    // 1.將構造方法私有化,不允許外部直接創建對象
    private Singleton2(){
        
    }
    
    // 2.創建類的唯一實例,使用private static
    private static Singleton2 instance;
    
    // 3.提供一個用于獲取實例的方法,使用public static
    public static Singleton2 getInstance(){
        if(instance == null){
            instance = new Singleton2();
        }
        return instance;
    }
}

2.修改Test類

package com.myimooc.designpattern.c1singleton;

public class Test {
    
    public static void main(String[] args) {
        
        // 餓漢模式
        Singleton s1 = Singleton.getInstance();
        Singleton s2 = Singleton.getInstance();
        if( s1 == s2){
            System.out.println("s1和s2是同一個實例");
        }else{
            System.out.println("s1和s2是不同一個實例");
        }
        
        // 懶漢模式
        Singleton2 s3 = Singleton2.getInstance();
        Singleton2 s4 = Singleton2.getInstance();
        if( s3 == s4){
            System.out.println("s3和s4是同一個實例");
        }else{
            System.out.println("s3和s4是不同一個實例");
        }
    }
}
第三章:餓漢懶漢區別 3-1 區別

區別

餓漢模式的特點是加載類時比較慢,但運行時獲取對象的速度比較快,線程安全
懶漢模式的特點是加載類時比較快,但運行時獲取對象的速度比較慢,線程不安全

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70299.html

相關文章

  • 課網_模式秘密之責任鏈模式學習總結

    時間:2017年08月30日星期三說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學源碼:https://github.com/zccodere/s...學習源碼:https://github.com/zccodere/s... 第一章:責任鏈模式簡介 1-1 課程簡介 課程大綱 什么是責任鏈模式 如何實現責任鏈模式 責任鏈模式如何解耦 責任鏈模式的應用 案例:...

    jsyzchen 評論0 收藏0
  • 課網_模式秘密之適配器模式學習總結

    摘要:時間年月日星期二說明本文部分內容均來自慕課網。慕課網教學源碼學習源碼第一章適配器模式的簡介簡介生活中的適配器翻譯軟件插座適配器適配器模式定義適配器模式講將一個類的接口,轉換成客戶期望的另外一個接口。 時間:2017年08月29日星期二說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學源碼:https://github.com/zccodere/s.....

    andong777 評論0 收藏0
  • 課網_模式秘密之模版模式學習總結

    摘要:時間年月日星期六說明本文部分內容均來自慕課網。案例介紹飲料機配置模版把水煮沸泡飲料把飲料倒進杯子加調味料第二章模版模式實現基本框架代碼編寫編寫類模版模式抽象基類,為所有子類提供一個算法框架。 時間:2017年09月02日星期六說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學源碼:https://github.com/zccodere/s...學習源...

    Hancock_Xu 評論0 收藏0
  • 課網_模式秘密之策略模式學習總結

    時間:2017年08月31日星期四說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學源碼:https://github.com/zccodere/s...學習源碼:https://github.com/zccodere/s... 第一章:策略模式簡介 1-1 簡介 課程大綱 什么是策略模式 策略模式如何實現 策略模式總結篇 實例案例分享 日常生活中的策略 Wor...

    zhongmeizhi 評論0 收藏0
  • 課網_模式秘密之工廠模式學習總結

    摘要:時間年月日星期日說明本文部分內容均來自慕課網。這對所有形態的工廠模式都是重要的這個系統的產品有至少一個的產品族同屬于一個產品族的產品是設計成在一起使用的。 時間:2017年08月27日星期日說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學源碼:https://github.com/zccodere/s...學習源碼:https://github.c...

    jsyzchen 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<