前言 代碼運(yùn)行日志對于項(xiàng)目來說十分重要。本文記錄的是 SpringBoot 與 Log4j2 的整合配置過程,至于其他日志框架和 Log4j2 的對比,小伙伴們可自行查閱資料...
前言 代碼運(yùn)行日志對于項(xiàng)目來說十分重要。本文記錄的是 SpringBoot 與 Log4j2 的整合配置過程,至于其他日志框架和 Log4j2 的對比,小伙伴們可自行查閱資料...
前言 昨天在開發(fā)業(yè)務(wù)時(shí),打算加入緩存層來提高系統(tǒng)響應(yīng)速度。查找了一些資料,發(fā)現(xiàn) Spring 的緩存功能十分強(qiáng)大!只需要添加少量的代碼,就可以輕松緩存方法所返回的對象。這篇文...
1 前言 LinkedHashMap繼承于HashMap,如果對HashMap原理還不清楚的同學(xué),請先看上一篇:圖解HashMap原理 2 LinkedHashMap使用與...
前言 GitHub Actions 是 GitHub 推出的功能,可以為我們的項(xiàng)目構(gòu)建自動化工作流。例如代碼檢查,自動化打包,測試,發(fā)布版本等等。入口在項(xiàng)目 Pull Req...
介紹 工廠方法是一種創(chuàng)建型設(shè)計(jì)模式,其在父類中提供一個(gè)創(chuàng)建對象的方法,允許子類決定實(shí)例化對象的類型。 場景 假如我們開發(fā)項(xiàng)目中的日志模塊,業(yè)務(wù)初期只有控制臺日志,大部分代碼都...
介紹 單例模式是一種創(chuàng)建型設(shè)計(jì)模式 ??,能夠保證一個(gè)類只有一個(gè)實(shí)例,并提供一個(gè)訪問該實(shí)例的全局節(jié)點(diǎn)。 特點(diǎn) 保證一個(gè)類只有一個(gè)實(shí)例。最常見的原因是控制某些共享資源,例如數(shù)據(jù)庫...
前言 軟件測試的重要性毋庸置疑。大部分公司主業(yè)務(wù)的支撐軟件,在開發(fā)時(shí)都會要求編寫測試。在日常開發(fā)中,也有不少要求我們寫測試的場景,例如你將要開源擴(kuò)展包,擁有完整測試永遠(yuǎn)是加分...
前言 提到數(shù)據(jù)庫索引,大家肯定很熟悉,在日常工作中經(jīng)常會接觸到。這幾天看了不少相關(guān)文章、書籍和課程。決定自己總結(jié)一篇文章,雖然我寫的這篇文章肯定不如網(wǎng)上各路大神的好文,但是自...
前言 在我們?nèi)粘i_發(fā)中,難免會遇到要加鎖的情景。例如扣除產(chǎn)品庫存,首先要從數(shù)據(jù)庫中取出庫存,進(jìn)行庫存判斷,再減去庫存。這一波操作明顯不符合原子性,如果代碼塊不加鎖,很容易因?yàn)?..
前言 本篇文章記錄我使用 docker-compose 以及 dockerfile 來構(gòu)建基于 binlog 的 MySQL 主從環(huán)境。如果你嚴(yán)格按照文中的步驟進(jìn)行配置,相信...
前言 簡單來說,數(shù)據(jù)庫事務(wù)就是保證一組數(shù)據(jù)操作要么全部成功,要么全部失敗。在 MySQL 中,事務(wù)是在引擎層實(shí)現(xiàn)的。原生的 MyISAM 引擎不支持事務(wù),也是為什么 Inno...
MySQL 都有哪些零件? 連接器:管理連接,權(quán)限驗(yàn)證。 分析器:詞法分析,語法分析。 優(yōu)化器:執(zhí)行計(jì)劃生成,索引選擇。 執(zhí)行器:操作存儲引擎,返回結(jié)果。 存儲引擎:存儲數(shù)據(jù)...
版本 JDK 14 Zookeeper Kafka 安裝 Zookeeper 和 Kafka Kafka 依賴 Zookeeper,所以我們需要在安裝 Kafka 之前先擁有...
版本 JDK 14 Gradle 6.3 Dubbo 2.7.7 ZooKeeper 3.6.0 注冊中心安裝 首先確保你的環(huán)境中有 Docker,輸入下列命令進(jìn)行 Zook...