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內部,提高了執行的效率,不必每次獲取物件時都進行同步,只有第一次才同步,建立了以後就沒必要了。
相關文章
- 舉例說明如何使用WebSQL?WebSQL
- Java 利用列舉實現單例模式Java單例模式
- 舉例說明clear取值有哪些?
- 反直覺SQL舉例說明SQL
- 舉例說明js如何拖拽排序?JS排序
- 舉例說明表格中如何再巢狀表格巢狀
- 說說Vue 3.0中Treeshaking特性?舉例說明一下?Vue
- 舉例說明常用的cursor取值有哪些?
- 舉例說明js滑鼠事件有哪些?JS事件
- Java中的單例模式最全解析Java單例模式
- java 單例模式Java單例模式
- Java單例模式Java單例模式
- 舉例說明陣列的排序方法有哪些?陣列排序
- 舉例說明你知道的css技巧有哪些?CSS
- 舉例說明js如何實現繼承?JS繼承
- 舉例說明document.execCommand有哪些用途
- 說一下泛型原理,並舉例說明泛型
- 舉例說明你對前端工程化的理解前端
- 舉例說明你對前端自動化的理解前端
- 舉例說明前端的程式碼是如何解耦的?前端解耦
- 舉例說明object.freeze有哪些用途呢?Object
- 什麼叫執行緒安全,舉例說明。執行緒
- Java列舉:為什麼它是單例模式的最佳選擇?Java單例模式
- 淺析Java併發中的單例模式Java單例模式
- Flutter 中的單例模式Flutter單例模式
- DCL單例模式中的缺陷及單例模式的其他實現單例模式
- JS中的單例模式及單例模式原型類的實現JS單例模式原型
- Java設計模式【單例模式】Java設計模式單例
- Java設計模式 | 單例模式Java設計模式單例
- Java設計模式——單例模式Java設計模式單例
- Java設計模式–單例模式Java設計模式單例
- Java設計模式-單例模式Java設計模式單例
- Java設計模式--單例模式Java設計模式單例
- 舉例說明常用的BOM屬性和方法有哪些?
- 舉例說明圖片懶載入的方案有哪些?
- 舉例說明Shadow DOM的應用場景有哪些?
- Java基礎-單例模式Java單例模式
- java單例設計模式Java單例設計模式
- 淺析單例模式--Java單例模式Java