首頁  >  文章  >  Java  >  什麼是java單例模式?

什麼是java單例模式?

青灯夜游
青灯夜游原創
2019-05-22 16:30:3911064瀏覽

java單例模式是一種常見的設計模式;是為確保一個類別只有一個實例,並為整個系統提供一個全域存取點(向整個系統提供這個實例)的一種方法。單例模式分為三種:懶漢式單例、餓漢式單例、登記式單例。

什麼是java單例模式?

單例模式概述

單例模式(Singleton),也稱為單子模式,是常用的設計模式。在應用這個模式時,單例物件的類別必須保證只有一個實例存在。許多時候,整個系統只需要擁有一個的全局對象,這樣有利於我們協調系統整體的行為。例如在某個伺服器程式中,該伺服器的配置資訊存放在一個檔案中,這些配置資料由一個單例物件統一讀取,然後服務進程中的其他物件再透過這個單例物件取得這些配置信息,顯然,這種方式簡化了在複雜環境下的組態管理。

特別地,在電腦系統中,執行緒池、快取、日誌物件、對話方塊、印表機、顯示卡的驅動程式物件常被設計成單例。事實上,這些應用都或多或少具有資源管理器的功能。例如,每台電腦可以有若干個印表機,但只能有一個 Printer Spooler(單例) ,以避免兩個列印作業同時輸出到印表機。再例如,每台計算機可以有若干通信端口,系統應集中 (單例)管理這些通信端口,以避免一個通信端口同時被兩個請求同時調用。總之,選擇單例模式就是為了避免不一致狀態,避免政出多頭。

綜上所述,單例模式就是為確保一個類別只有一個實例,並為整個系統提供一個全域存取點的一種方法。

單例模式有以下特點:

1、單例類別只能有一個實例。

2、單例類別必須自己建立自己的唯一實例。

3、單例類別必須提供給所有其他物件這個實例。

單例模式確保某個類別只有一個實例,並且自行實例化並向整個系統提供這個實例。

單例模式是設計模式中最簡單的形式之一。這一模式的目的是使得類別的一個物件成為系統中的唯一實例。要實現這一點,可以從客戶端對其進行實例化開始。因此需要用一種只允許產生物件類別的唯一實例的機制,「阻止」所有想要生成物件的存取。使用工廠方法來限制實例化製程。這個方法應該是靜態方法(類別方法),因為讓類別的實例去產生另一個唯一實例毫無意義。

以上是什麼是java單例模式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn