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

Kotlin之單例模式-創(chuàng)新互聯(lián)

我們知道單例分為餓漢式、懶漢式,單例在我們開發(fā)中經(jīng)常用到,本篇內(nèi)容主講

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比太和網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式太和網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋太和地區(qū)。費用合理售后完善,10年實體公司更值得信賴。懶漢式單例模式
    • 1、Java 懶漢式單例模式
    • 2、Kotlin懶漢式單例模式
    • 3、Java 同步懶漢式單例模式
    • 4、Kotlin同步懶漢式單例模式
    • 5、單例調(diào)用測試

1、Java 懶漢式單例模式
public class JavaUtils {private static JavaUtils instance = null;

    private JavaUtils() {}

    public static JavaUtils getInstance() {if (instance == null) {instance = new JavaUtils();
        }
        return instance;
    }

    public void javaTest(){System.out.println("Java 懶漢式 單例模式");
    }
}
2、Kotlin懶漢式單例模式
class KotlinUtils private constructor() {companion object {val instance: KotlinUtils by lazy {KotlinUtils()
        }
    }

    fun kotlinTest() {println("kotlin 懶漢式 單例模式")
    }
}

以上實現(xiàn)的單例

  • 優(yōu)點:延遲到使用時才進行初始化,提高了類加載的性能
  • 缺點:非線程安全,多個線程同時訪問情況下,會創(chuàng)建多個實例

但是在我們開發(fā)中經(jīng)常需要考慮線程安全的問題,對Java單例一般使用雙重檢驗鎖,kotlin中也提供了線程安全的實現(xiàn)方式

3、Java 同步懶漢式單例模式
public class JavaSyncUtils {private volatile static JavaSyncUtils instance = null;

    private JavaSyncUtils() {}

    public static JavaSyncUtils getInstance() {if (instance == null) {synchronized (JavaSyncUtils.class){if (instance==null){instance = new JavaSyncUtils();
                }
            }
        }
        return instance;
    }

    public void javaTest(){System.out.println("Java 懶漢式 單例模式-雙重檢驗鎖");
    }

}
4、Kotlin同步懶漢式單例模式
class KotlinSyncUtils private constructor() {companion object {val instance: KotlinSyncUtils by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) {KotlinSyncUtils()
        }
    }

    fun kotlinTest() {println("kotlin 懶漢式 單例模式-雙重檢驗鎖")
    }
}

mode = LazyThreadSafetyMode.SYNCHRONIZED kotlin已經(jīng)對同步安全進行封裝

同步單例:

  • 優(yōu)點:1、延遲到使用時才進行初始化,提高了類加載的性能、2、在創(chuàng)建對象的語句塊中使用了同步鎖synchronized,保證線程安全的同時,降低了鎖的作用范圍
  • 缺點:需要1-2次的空判斷
5、單例調(diào)用測試
JavaUtils.getInstance().javaTest()
JavaSyncUtils.getInstance().javaTest()
println()
KotlinUtils.instance.kotlinTest()
KotlinSyncUtils.instance.kotlinTest()
Java 懶漢式 單例模式
Java 懶漢式 單例模式-雙重檢驗鎖

kotlin 懶漢式 單例模式
kotlin 懶漢式 單例模式-雙重檢驗鎖

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

分享標題:Kotlin之單例模式-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://jinyejixie.com/article28/peicp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、域名注冊、靜態(tài)網(wǎng)站、網(wǎng)站策劃、網(wǎng)站維護、定制網(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ù)器托管
德惠市| 托克托县| 乾安县| 珲春市| 鄂托克前旗| 延长县| 安顺市| 陆良县| 周口市| 延寿县| 苍溪县| 志丹县| 曲阳县| 长泰县| 双江| 山阴县| 正镶白旗| 克东县| 太谷县| 余庆县| 永丰县| 乌鲁木齐市| 平南县| 商河县| 洛川县| 高要市| 迭部县| 舟曲县| 响水县| 镇坪县| 昭苏县| 五常市| 尚志市| 九江市| 西乌珠穆沁旗| 沛县| 罗城| 锡林郭勒盟| 小金县| 上蔡县| 西安市|