1. 概念 保證一個(gè)類(lèi)只有一個(gè)實(shí)例 并為該實(shí)例提供一個(gè)全局唯一的訪問(wèn)節(jié)點(diǎn) 2. 懶漢式-方式一 2.1 代碼示例(方式一) 示例 2.2 優(yōu)缺點(diǎn)(方式一) 起到了Lazy L...
![240](https://upload.jianshu.io/users/upload_avatars/26211840/4eae6296-c310-42d6-bc24-4a07263d1215.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
1. 概念 保證一個(gè)類(lèi)只有一個(gè)實(shí)例 并為該實(shí)例提供一個(gè)全局唯一的訪問(wèn)節(jié)點(diǎn) 2. 懶漢式-方式一 2.1 代碼示例(方式一) 示例 2.2 優(yōu)缺點(diǎn)(方式一) 起到了Lazy L...
1. 概念 保證一個(gè)類(lèi)只有一個(gè)實(shí)例 并為該實(shí)例提供一個(gè)全局唯一的訪問(wèn)節(jié)點(diǎn) 2. 餓漢式(靜態(tài)常量) 2.1 步驟 構(gòu)造器私有化(防止 new) 類(lèi)的內(nèi)部創(chuàng)建對(duì)象 向外暴露一個(gè)...
1. 掌握設(shè)計(jì)模式的層次 第1層:剛開(kāi)始學(xué)編程不久,聽(tīng)說(shuō)過(guò)什么是設(shè)計(jì)模式 第2層:有很長(zhǎng)時(shí)間的編程經(jīng)驗(yàn)啤誊,自己寫(xiě)了很多代碼呼寸,其中用到了設(shè)計(jì)模式股冗,但是自己卻不知道 第3層:學(xué)習(xí)過(guò)...
1. 核心思想 找出應(yīng)用中可能需要變化之處媳危,把它們獨(dú)立出來(lái)鹅搪,不要和那些不需要變化的代碼混在一起恤左。 針對(duì)接口編程,而不是針對(duì)實(shí)現(xiàn)編程稚失。 為了交互對(duì)象之間的松耦合設(shè)計(jì)而努力栋艳。 2...
1. 概念 盡量使用對(duì)象聚合/組合,而不是繼承關(guān)系達(dá)到軟件復(fù)用的目的 2. 聚合vs組合vs繼承 聚合(aggregation):has-A 組合(composition):...
1. 概念 迪米特法則(Demeter Principle)又叫最少知道原則句各,即一個(gè)類(lèi)對(duì)自己依賴的類(lèi)知道的越少越好吸占。 迪米特法則還有個(gè)更簡(jiǎn)單的定義:只與直接的朋友通信朋友:有...
1. 概念 對(duì)擴(kuò)展開(kāi)放(對(duì)提供方),對(duì)修改關(guān)閉(對(duì)使用方) 2. 分析 不“開(kāi)閉”的壞處牽一發(fā)而動(dòng)全身 好處測(cè)試簡(jiǎn)單可復(fù)用性變強(qiáng)穩(wěn)定性變高 實(shí)現(xiàn)方式接口凿宾、抽象類(lèi) 3. 代碼示...
1. 概念 任何基類(lèi)可以出現(xiàn)的地方矾屯,子類(lèi)一定可以出現(xiàn)0326001.png 2. 為什么要遵循歷史替換原則 繼承關(guān)系給程序帶來(lái)侵入性 保證程序升級(jí)后的兼容性 避免程序出錯(cuò) 3...
1. 概念 高層模塊不應(yīng)該依賴底層模塊,二者都應(yīng)該依賴其抽象 抽象不應(yīng)該依賴細(xì)節(jié)初厚,細(xì)節(jié)應(yīng)該依賴抽象 依賴倒轉(zhuǎn)(倒置)的中心思想是面向接口編程 依賴倒轉(zhuǎn)原則是基于這樣的設(shè)計(jì)理念...
1. 概念 客戶端不應(yīng)該依賴它不需要的接口件蚕,即一個(gè)類(lèi)對(duì)另一個(gè)類(lèi)的依賴應(yīng)該建立在最小的接口上 2. 代碼示例 示例1 在示例1中不滿足接口隔離原則 Interface1接口的部...
1. 概念 一個(gè)類(lèi)只負(fù)責(zé)一項(xiàng)職責(zé) 2. 注意事項(xiàng)和細(xì)節(jié) 降低類(lèi)的負(fù)責(zé)度,一個(gè)類(lèi)只負(fù)責(zé)一項(xiàng)職責(zé) 提高類(lèi)的可讀性产禾,可維護(hù)性 降低變更引起的風(fēng)險(xiǎn) 當(dāng)邏輯足夠簡(jiǎn)單時(shí)排作,可以在代碼級(jí)違反...
1. 用 “==”比較 代碼示例 比較結(jié)果 原因因?yàn)锽igDecimal是對(duì)象,所以不能用==來(lái)判斷兩個(gè)數(shù)字的值是否相等亚情。 2. 用 “equals”比較 代碼示例1 比較結(jié)...
1妄痪、查看Ubuntu現(xiàn)有的內(nèi)核版本(),可以看到現(xiàn)在的內(nèi)核版本4.15.0 2.目前要升級(jí)到5.11.4,去官網(wǎng)找對(duì)應(yīng)的包拉到服務(wù)器上 3.解壓 4.安裝各種依賴 5.進(jìn)入l...
異常場(chǎng)景 場(chǎng)景1 排查步驟 先看是否存在相同的類(lèi)名 再看是否存在相同的接口路徑(以上報(bào)錯(cuò)屬于此情況)
查詢接口 數(shù)據(jù)量大的場(chǎng)景:若不是分頁(yè)查詢僧著,需考慮是否需要分批查詢(例如:每次查詢一萬(wàn)條,十萬(wàn)條數(shù)據(jù)分十次進(jìn)行查詢) 集合 Map 集合:從Map集合中 get 數(shù)據(jù)時(shí)障簿,需先校...
1. sql中 union 和 union all 的用法 如果我們需要將兩個(gè) select 語(yǔ)句的結(jié)果作為一個(gè)整體顯示出來(lái),我們就需要用到 union 或者 union a...
問(wèn)題 使用 Mybatis-plus 查詢數(shù)據(jù)庫(kù)時(shí)栅迄,出現(xiàn)異常站故,如下 mybatis-plusjava.lang.IndexOutOfBoundsException:Index...