原创 設計模式總篇:從爲什麼需要原則到實際落地(附知識圖譜)

聊聊爲什麼需要原則 我們所有人都看過科幻電影,都看到過未來場景中人類和機器人和平相處的場景 爲了讓擁有自主智能的機器人不失控,人類爲機器人制定了三大定律: 第一定律:機器人不得傷害人類個體,或者目睹人類個體將遭受危險而袖手不管

原创 【一起學系列】之剩下的設計模式們

前言 【開發】:老大,你教了我挺多設計模式的,已經全部教完了嗎? 【BOSS】:沒呢,還有好幾個設計模式沒說過呢,今天再傳授你三個吧,分別是建造者模式,責任鏈模式,備忘錄模式,如何? 【開發】:好啊,我最喜歡學習了! 建造者模式

原创 從JIT到類加載再到實現原理解式Lambda編譯慢的問題

問題回顧 描述的話不多說,直接上圖: 看到輸出結果了嗎?爲什麼第一次和第二次的時間相差如此之多?咱們一起琢磨琢磨,也可以先去看看結論再回過頭看分析 注:並非僅第二次快,而是除了第一次,之後的每一次都很快 給與猜想 是否和操

原创 【一起學系列】之代理模式:是爲了控制訪問啊!

意圖 爲其他對象提供一種代理以控制對這個對象的訪問 代理模式的誕生 【產品】:Kerwin,我記得你是在通州租房住吧? 【開發】:是啊,怎麼了? 【產品】:你是房東直租還是中介啊?我最近真是特別煩中介,收費都好黑! 【開發】:我啊

原创 【一起學系列】之狀態模式:你聽過“流程”模式嗎?

意圖 允許一個對象在其內部狀態改變時改變它的行爲 說人話:允許對象在改變自身狀態時候,更改綁定的特定方法 狀態模式的誕生 【產品】:Hello,開發小哥,我們需要開發一款 娃娃機,你可以提前想想怎麼設計它啦。 【開發】:娃娃機?我

原创 讀取文件夾內容解析爲Tree結構

package com.mine.io; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.f

原创 請求限流

請求限流 開發高併發系統時,有三把利器用來保護系統:緩存、降級和限流 通過限流,我們可以很好地控制系統的qps,從而達到保護系統的目的。 計數算法(不常用) // 模擬的僞代碼 public static void main(S

原创 【一起學系列】之工廠模式:產品?產品族?

前言 在設計模式中關於工廠模式有一點特殊,就標準意義而言我們一般提到的工廠模式一般包括三種: 簡單工廠 工廠方法模式 抽象工廠模式 其實簡單工廠不屬於設計模式,由於它的使用場景還是比較多的,因此本篇將會一起介紹一下~ 工廠

原创 【一起學系列】之迭代器&組合:雖然有點用不上啦

迭代器模式 意圖 提供一種方法順序訪問一個聚合對象中各個元素,而又不需暴漏該對象的內部表示 迭代器模式的誕生 【產品】:嘿,有一個好消息,咱們旗下的餐廳把月巴克的咖啡店吞併了!太棒了!年終獎穩了! 【開發】:Yeah!Yeah!Y

原创 Spirngboot-自定義Starter

一.Spring Boot Starter簡介 Starter是Spring Boot中的一個非常重要的概念,Starter相當於模塊,它能將模塊所需的依賴整合起來並對模塊內的Bean根據環境( 條件)進行自動配置。使用者只需要依

原创 【一起學系列】之單例模式:只推薦三種~

意圖 保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。 別名:單件模式 單例模式的誕生 【開發】:老大,爲什麼我保存配置信息,每次都和我預期的不一樣啊,總是會覆蓋? 【BOSS】:哈?我來看看。 【BOSS】:你每次使用的時

原创 【一起學系列】之命令模式:封裝一個簡單Jedis

意圖 將一個請求封裝爲一個對象,從而使你可用不同的請求對客戶進行參數化;對請求排隊或記錄請求日誌,以及支持可撤銷的操作。 命令模式的誕生 【產品】:開發小哥,來活啦,咱們需要設計一款遙控器,核心功能就是幾個按鍵,但是可能要控制很多

原创 【一起學系列】之適配器模式:還有外觀模式呢

適配器模式 意圖 將一個類的接口轉換成客戶希望的另外一個接口,adapter模式使得原本由於接口不兼容而不能一起工作的那些類可以一起工作 別名:Wrapper包裝器 適配器模式的誕生 【產品】:開發小哥,記得我們第一版的需求嗎?

原创 【一起學系列】之模板方法:寫SSO我只要5分鐘

意圖 定義一個操作中的算法的骨架,將一些步驟延遲到子類中。 Template Method使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟 模板方法模式的誕生 模板方法模式爲我們提供了一種代碼複用的重要技巧,它定義了

原创 Hello!GitHub 好用好玩值得收藏的開源項目集合~

這是我許久以來從各處發現的極佳開源項目,希望分享給大家~ 如果幫到你了,給我個贊好嘛 編程語言類 ❤️learn-go-with-tests(通過單元測試學Go) GitHub地址:https://github.com/qui