【java】設計模式——單例模式

  1. 單例模式要點
    • 一個類只需要一個實例化對象;
    • 必須自行創建實例;
    • 必須自行向整個系統提供這個實例
  2. 實現
    • 只提供私有構造方法;
    • 有一個該類的靜態私有對象;
    • 提供一個靜態公有方法用于創建、獲取靜態私有對象;
    分析:
    • 私有構造方法->不能隨意創建實例;
    • 靜態私有對象:確保只有一個實例對象
    • 靜態公有方法->提供一個外部接口,可直接通過類名調用該方法,方法內部能直接調用靜態對象;
  3. 餓漢式實現方法:在創建類時實例化
// 在創建類時直接實例化,空間換時間
public class SingletonOne{//1. 私有構造private SingletonOne(){}//2. 在創建該類時初始化靜態私有對象private static SingletonOne instance = new SingletonOne();// 3.提供靜態公有方法返回靜態實例對象public static SingletonOne getInstance(){return instance;}
}
  1. 懶漢式實現方法:靜態公有方法中實例化
// 在調用靜態公有方法后,才完成對象的實例化
public class SingletonTwo{//1. 私有構造private SingletonOne(){}//2. 在創建該類時初始化靜態私有對象private static SingletonTwo instance = null;// 3.提供靜態公有方法返回靜態實例對象public static SingletonOne getInstance(){if(instance==null) // 保證只會實例化一次instance = new SingletonTwo();return instance;}
}
  1. 餓漢式 vs 懶漢式
單例模式的實現方法實例化對象的時間空間特點時間特點線程安全
餓漢式在類加載時候完成空間占用時間長在第一次使用時加載速度快線程安全
懶漢式在第一次調用共有方法時完成不會造成內存空間浪費在第一次使用時加載時間相對慢線程不安全

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/39463.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/39463.shtml
英文地址,請注明出處:http://en.pswp.cn/news/39463.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

iOS_crash文件的獲取及符號化(解析)

文章目錄 1. 使用 symbolicatecrash 解析 .ips 文件:2. 使用 CrashSymbolicator.py 解析 ips 文件3. 使用 atos 解析 crash 文件4. Helps4.1 .ips 文件獲取4.2 .crash 文件獲取4.3 獲取 .dSYM 和 .app 文件4.4 使用 dwarfdump 查詢 uuid 5. Tips6. 總結 1. 使用 sym…

一百五十七、Kettle——Kettle最新的官網下載地址(之前的Kettle官網已經無法下載,真坑)

一、目的 之前使用的是kettle8.2,不需要額外下載pentaho-hadoop-shims-hdp30-8.2.2018.11.00-342.jar,因為kettle8.2本身自帶 但是kettle8.2在Linux上安裝后建立共享資源庫又有問題,沒辦法,只能換成kettle9.3 結果,k…

華為網絡篇 RIPv2的基礎配置-25

難度 1復雜度1 目錄 一、實驗原理 1.1 RIP的版本 1.2 RIP的路由更新方式 1.3 RIP的計時器 1.4 RIP的防環機制 二、實驗拓撲 三、實驗步驟 四、實驗過程 總結 一、實驗原理 RIP(Routing Information Protocol,路由信息協議)&am…

微服務概述-7

Shiro 框架 Shiro 是一個用于 Java 應用程序的安全框架。它提供了身份驗證、授權、加密和會話管理等功能,可以幫助開發人員構建安全可靠的應用程序。 Java 中針對權限管理常見的有 2 個著名的框架:spring security 和 shiro shiro 基本概念 credentia…

機器學習筆記 - 基于C++的??深度學習 二、實現卷積運算

一、卷積 卷積是信號處理領域的老朋友。最初的定義如下 在機器學習術語中: I(…)通常稱為輸入 K(…)作為內核,并且 F(…)作為給定K的I(x)的特征圖。 慮多維離散域,我們可以將積分轉換為以下求和 對于二維數字圖像,我們可以將其重寫為: <

編程練習(1)

目錄 一.選擇題 第一題&#xff1a; 第二題&#xff1a; 第三題&#xff1a; 第四題&#xff1a; 第五題&#xff1a; ?編輯 二.編程題 第一題&#xff1a; 第二題&#xff1a; 1.暴力方法&#xff1a; 2.數組法&#xff1a; 一.選擇題 第一題&#xff1a; 解析&…

【vue】簡潔優雅的火花線、趨勢線

來由 在github發現個好看易用的vue趨勢線組件&#xff0c;特此記錄。 效果 趨勢圖生成后效果如上&#xff0c;線條為漸變色&#xff0c;可設置是否平滑。具體線條走勢&#xff0c;根據數據動態生成。 使用 安裝 npm i vuetrend -S 引入 import Vue from "vue"…

MySQL性能分析之慢查詢日志查看

一、背景 MySQL的慢查詢日志是MySQL提供的一種日志記錄,他用來記錄在MySQL中響應的時間超過閾值的語句,具體指運行時間超過long_query_time(默認是10秒)值的SQL,會被記錄到慢查詢日志中。 慢查詢日志一般用于性能分析時開啟,收集慢SQL然后通過explain進行全面分析,一…

時序預測 | MATLAB實現WOA-CNN-BiLSTM鯨魚算法優化卷積雙向長短期記憶神經網絡時間序列預測

時序預測 | MATLAB實現WOA-CNN-BiLSTM鯨魚算法優化卷積雙向長短期記憶神經網絡時間序列預測 目錄 時序預測 | MATLAB實現WOA-CNN-BiLSTM鯨魚算法優化卷積雙向長短期記憶神經網絡時間序列預測預測效果基本介紹程序設計學習總結參考資料 預測效果 基本介紹 時序預測 | MATLAB實現…

Python案例|Pandas正則表達式

字符串的處理在數據清洗中占比很大。也就是說,很多不規則的數據處理都是在對字符串進行處理。Excel提供了拆分、提取、查找和替換等對字符串處理的技術。在Pandas中同樣提供了這些功能,并且在Pandas中還有正則表達式技術的加持,讓其字符串處理能力更加強大。 01、正則 正則就是…

TypeScript相關面試題

typeScript 1.什么是TypeScript?是什么&#xff1f;特性&#xff1f;區別&#xff1f; 2.TypeScript數據類型&#xff1f;3.說說你對 TypeScript 中枚舉類型的理解&#xff1f;應用場景&#xff1f;4.說說你對 TypeScript 中接口的理解&#xff1f;應用場景&#xff1f;使用方…

docker中的jenkins之流水線構建

docker中的jenkins之流水線構建項目 1、用node這種方式&#xff08;因為我用pipeline方式一直不執行&#xff0c;不知道為什么&#xff09; 2、創建項目 創建兩個參數&#xff0c;一個是宿主端口號&#xff0c;一個是docker中的端口號 3、使用git項目中的Jenkinsfile 4、編寫…

【AGI】世界首次實現室溫超導LK-99

論文&#xff1a;The First Room-Temperature Ambient-Pressure Superconductor GPT論文總結&#xff1a; 根據所提供的信息&#xff0c;這篇論文報道了一種在室溫和常壓下工作的室溫超導體LK-99。LK-99的超導性是通過微小的結構畸變引起的&#xff0c;而不是通過溫度和壓力等外…

09 - 連續的多個commit整理成1個

查看所有文章鏈接&#xff1a;&#xff08;更新中&#xff09;GIT常用場景- 目錄 文章目錄 將連續的多個commit整理成1個 將連續的多個commit整理成1個 將anranxiaohunzhang和xianglongshibazhang合并起來&#xff08;將anranxiaohunzhang合并到降龍十八掌上&#xff0c;生成新…

java GC日志分析示例

分析 Java 的 GC 日志可以幫助您了解應用程序的垃圾回收情況&#xff0c;從而檢測內存泄漏、性能問題以及優化內存使用。下面是一些詳細的步驟和示例來分析 Java 的 GC 日志。 假設您有一個 Java 應用程序運行的 GC 日志文件&#xff0c;我們將使用以下示例日志進行解釋&#…

干翻Dubbo系列第十篇:Dubbo體系中ProtoBuf序列化方式詳解

文章說明 本文內容整理自《孫哥說Dubbo系列視頻課程》&#xff0c;孫帥老師課程細致、全面、深入、性價比極高。B站搜孫帥suns可以找到對應的試聽視頻&#xff0c;或者直接添加老師微信號suns45與他直接聯系 一&#xff1a;序列化概念 補充說明&#xff1a; Kyro和Fst這兩種…

設計模式-面試常問

1.單例模式 保證系統中&#xff0c;一個類&#xff0c;只有一個實例&#xff0c;并且提供對外訪問。 優點&#xff1a;只有一個對象&#xff0c;可以節省資源。適合頻繁創建銷毀對象的場景。 實現&#xff1a;要用到static&#xff0c;靜態私有對象。暴露單例的靜態方法。 &…

docker 學習--03 環境安裝(本人使用的win10 Linux也是在win10下模擬)

docker 學習–03 環境安裝&#xff08;本人使用的win10 Linux也是在win10下模擬&#xff09; docker 學習-- 01 基礎知識 docker 學習-- 02 常用命令 文章目錄 docker 學習--03 環境安裝&#xff08;本人使用的win10 Linux也是在win10下模擬&#xff09;[TOC](文章目錄) 1. wi…

【數學建模】邏輯回歸算法(Logistic Resgression)

邏輯回歸算法 簡介邏輯回歸與條件概率繪制sigmoid函數 簡介 邏輯回歸算法是一種簡單但功能強大的二元線性分類算法。需要注意的是&#xff0c;盡管"邏輯回歸"名字帶有“回歸”二字&#xff0c;但邏輯回歸是一個分類算法&#xff0c;而不是回歸算法。 我認為&#xff…

冉冉升起的星火,再度升級迎來2.0時代!

文章目錄 前言權威性評測結果 星火大模型多模態功能插件功能簡歷生成文檔問答PPT生成 代碼能力 福利 前言 前幾天從技術群里看到大家都在談論《人工智能大模型體驗報告2.0》里邊的內容&#xff0c;抱著好奇和學習的態度把報告看了一遍。看完之后瞬間被里邊提到的科大訊飛的星火…