java中的單例模式,舉例說明。
這次去筆試,有道題是要求設計一個單例模式。
Singleton模式主要作用是保證在Java應用程式中,一個類Class只有一個例項存在。
一般Singleton模式通常有三種形式:
第一種形式: 也是常用的形式。
public class Singleton {
private static Singleton instance = null;
private Singleton(){
//do something
}
//定義一個公共方法供其他類獲取該類的例項
public static Singleton getInstance(){
if(instance==null){
instance = new Singleton();
}
return instance;
}
}
第二種形式:
public class Singleton {
//在自己內部定義自己的一個例項,只供內部呼叫
private static Singleton instance = new Singleton();
private Singleton(){
//do something
}
//這裡提供了一個供外部訪問本class的靜態方法,可以直接訪問
public static Singleton getInstance(){
return instance;
}
}
第三種形式: 雙重鎖的形式。
public class Singleton {
private static Singleton instance = null;
private Singleton(){
//do something
}
public static Singleton getInstance(){
if(instance==null){
synchronized(Singleton.class){
if(null == instance){
instance = new Singleton();
}
}
}
return instance;
}
}
//這個模式將同步內容下方到if內部,提高了執行的效率,不必每次獲取物件時都進行同步,只有第一次才同步,建立了以後就沒必要了。
相關文章
- 核心FAQ 舉例說明 (轉)
- Mysql 左右連線舉例說明MySql
- 反直覺SQL舉例說明SQL
- Java 利用列舉實現單例模式Java單例模式
- 說說Vue 3.0中Treeshaking特性?舉例說明一下?Vue
- Java中的單例模式最全解析Java單例模式
- 舉例說明在組合語言中,"[]"的用法組合語言
- 說一下泛型原理,並舉例說明泛型
- java 單例模式Java單例模式
- Java單例模式Java單例模式
- 單例模式中為什麼用列舉更好單例模式
- 舉例說明Oracle資料庫審計的用法Oracle資料庫
- 什麼叫執行緒安全,舉例說明。執行緒
- Java 中設計模式 (單例模式) 介紹Java設計模式單例
- 淺析Java併發中的單例模式Java單例模式
- Java列舉:為什麼它是單例模式的最佳選擇?Java單例模式
- Flutter 中的單例模式Flutter單例模式
- JS中的單例模式及單例模式原型類的實現JS單例模式原型
- DCL單例模式中的缺陷及單例模式的其他實現單例模式
- 時間複雜度計算和舉例說明時間複雜度
- Java中單例設計模式總結Java單例設計模式
- Java設計模式–單例模式Java設計模式單例
- Java設計模式——單例模式Java設計模式單例
- Java設計模式--單例模式Java設計模式單例
- Java設計模式 | 單例模式Java設計模式單例
- Java設計模式【單例模式】Java設計模式單例
- Java設計模式-單例模式Java設計模式單例
- JAVA單例模式的各種寫法分析,最優為列舉Java單例模式
- 我的Java設計模式-單例模式Java設計模式單例
- 以opencv為例說明cmake中的findpackage()OpenCVPackage
- JAVA反射舉例Java反射
- java單例設計模式Java單例設計模式
- 淺析單例模式--Java單例模式Java
- Java基礎-單例模式Java單例模式
- Java單例模式詳解Java單例模式
- java單例模式深度解析Java單例模式
- 【Java面試指北】單例模式Java面試單例模式
- Python 中的單例模式Python單例模式