我們知道單例分為餓漢式、懶漢式,單例在我們開發(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年實體公司更值得信賴。懶漢式單例模式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)的單例
但是在我們開發(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)對同步安全進行封裝
同步單例:
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)