摘要:設計模式解決問題最行之有效的思想。作用可控代碼體現,私有化構造函數,創建私有并靜態的本類對象,定義公有并靜態的方法,返回該對象。餓漢式私有化構造函數。
設計模式:
解決問題最行之有效的思想。是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。
java中有23種設計模式:
單例設計模式:★★★★★
解決的問題:保證一個類在內存中的對象唯一性。
比如:多程序讀取一個配置文件時,建議配置文件封裝成對象。會方便操作其中數據,又要保證多個程序讀到的是同一個配置文件對象,就需要該配置文件對象在內存中是唯一的。
Runtime()方法就是單例設計模式進行設計的。
如何保證對象唯一性呢?
思想:
1,不讓其他程序創建該類對象。
2,在本類中創建一個本類對象。
3,對外提供方法,讓其他程序獲取這個對象。
步驟:
1,因為創建對象都需要構造函數初始化,只要將本類中的構造函數私有化,其他程序就無法再創建該類對象;
2,就在類中創建一個本類的對象;
3,定義一個方法,返回該對象,讓其他程序可以通過方法就得到本類對象。(作用:可控)
代碼體現:
1,私有化構造函數;
2,創建私有并靜態的本類對象;
//餓漢式
class Single{
private Single(){} //私有化構造函數。
private static Single s = new Single(); //創建私有并靜態的本類對象。
public static Single getInstance(){ //定義公有并靜態的方法,返回該對象。
return s;
}
//懶漢式:延遲加載方式。
class Single2{
private Single2(){}
private static Single2 s = null;
public static Single2 getInstance(){
if(s==null)
s = new Single2();
return s;
}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73217.html
摘要:啟動使用或這兩個參數可以創建基本的日志,使用可以創建更加詳細的日志。我們可以設置日志的文件大小和數量上面設置只輸出個文件,每個文件,文件的基本名字是,使用啟動的時間和進程來分割日志。 構建一個 jar 包程序 使用 Spring Boot 構建一個簡單的 web 程序,可以直接使用 java -jar 來啟動。 @RestController @RequestMapping(/root...
摘要:第篇電影微服務,使用配置文件配置在客戶端進行負載均衡調度算法一大致介紹通過配置來設置客戶端進行負載均衡的調度算法通過兩種代碼調用方式來測試客戶端負載均衡算法二實現步驟添加引用包模塊客戶端發現模塊 SpringCloud(第 008 篇)電影微服務,使用 application.yml 配置文件配置 Ribbon 在客戶端進行負載均衡調度算法 - 一、大致介紹 1、通過 applicat...
摘要:靜態塊代碼初始化其實,整個靜態代碼塊可以看作是一個靜態成員。和普通的非靜態成員初始化一樣,它的執行也發生在構造器調用之前,并且每當創建對象之前都會調用。口繼承中涉及的初始化大的原則是沒有父類,就沒子類。 這個教程,咱們來對Java中設計到的初始化規則,或者說初始化順序,來做一下匯總,這里我基本上把Java中,默認初始化,靜態成員初始化,非靜態成員初始化,靜態代碼塊,非靜態代碼塊,以及繼...
摘要:比如該目錄下有,則對應該鏡像目錄為打包使用是在本地打包鏡像,不到遠程,參數是顯示信息如果使用命令,則打包之后到遠程輸出日志實例查看鏡像可以看到指定了這三個文件夾小結默認執行如下操作也就是將拷貝到,將拷貝到,將拷貝到 序 本文主要研究一下如何使用google的jib打包docker鏡像 maven com.google.cloud...
閱讀 2308·2021-11-24 09:39
閱讀 3039·2021-10-15 09:39
閱讀 3088·2021-07-26 23:38
閱讀 2288·2019-08-30 11:14
閱讀 3409·2019-08-29 16:39
閱讀 1713·2019-08-29 15:23
閱讀 778·2019-08-29 13:01
閱讀 2663·2019-08-29 12:29