PS:首先我們要先知道什么是單例,為什么要用單例,用的好處是什么等問題來看。
1:java中單例模式是一種常見的設計模式,單例模式的寫法有好幾種,這里主要介紹兩種:懶漢式單例、餓漢式單例
單例模式有以下特點:
1、單例類只能有一個實例。
2、單例類必須自己創(chuàng)建自己的唯一實例。
3、單例類必須給所有其他對象提供這一實例。
單例模式確保某個類只有一個實例,而且自行實例化并向整個系統(tǒng)提供這個實例。在計算機系統(tǒng)中,線程池、緩存、日志對象、對話框、打印機、顯卡的驅動程序對象常被設計成單例。這些應用都或多或少具有資源管理器的功能。每臺計算機可以有若干個打印機,但只能有一個Printer Spooler,以避免兩個打印作業(yè)同時輸出到打印機中。每臺計算機可以有若干通信端口,系統(tǒng)應當集中管理這些通信端口,以避免一個通信端口同時被兩個請求同時調用。總之,選擇單例模式就是為了避免不一致狀態(tài),避免政出多頭。
2:懶漢式
先把單例類寫出來
public class SingletonTest { //懶漢式單例類.在第一次調用的時候實例化自己 private SingletonTest() {} private static SingletonTest single=null; //靜態(tài)工廠方法 public static SingletonTest getInstance() { if (single == null) { single = new SingletonTest(); System.out.println("創(chuàng)建一次"); } return single; } public void show(){ System.out.println("我是show"); } }
本文標題:圖文結合講解Java單例模式-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://jinyejixie.com/article18/dphggp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、域名注冊、虛擬主機、品牌網(wǎng)站設計、手機網(wǎng)站建設、微信小程序
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)