采用Jenkins的自由風(fēng)格構(gòu)建的項(xiàng)目,適合用于測試和學(xué)習(xí),主要問題有: 構(gòu)建過程中整體流程是不可見的,無法確認(rèn)每個(gè)流程花費(fèi)的時(shí)間 出現(xiàn)問題不方便快速的定位 無法進(jìn)行版本化管...
采用Jenkins的自由風(fēng)格構(gòu)建的項(xiàng)目,適合用于測試和學(xué)習(xí),主要問題有: 構(gòu)建過程中整體流程是不可見的,無法確認(rèn)每個(gè)流程花費(fèi)的時(shí)間 出現(xiàn)問題不方便快速的定位 無法進(jìn)行版本化管...
在redis中,一個(gè)實(shí)例,默認(rèn)有16個(gè)庫,數(shù)據(jù)庫名以序號(hào)命名0~15,可以根據(jù)業(yè)務(wù)需要的不同,把數(shù)據(jù)存儲(chǔ)在不同序號(hào)的數(shù)據(jù)中。在實(shí)際應(yīng)用中,該如何寫配置文件,才能連接多個(gè)red...
??SQL注入是常見的系統(tǒng)安全問題之一,用戶通過特定方式向系統(tǒng)發(fā)送SQL腳本,可直接自定義操作系統(tǒng)數(shù)據(jù)庫,如果系統(tǒng)沒有對(duì)SQL注入進(jìn)行攔截,那么用戶甚至可以直接對(duì)數(shù)據(jù)庫進(jìn)行增...
本文基于springboot+nacos+gateway實(shí)現(xiàn),使用springboot作為基礎(chǔ)工程,nacos作為注冊(cè)中心及配置中心,gateway作為網(wǎng)關(guān)項(xiàng)目整體使用版本號(hào)...
1. 線程池 線程池是一種線程使用模式。線程過多會(huì)帶來額外的開銷,其中包括創(chuàng)建銷毀線程的開銷、調(diào)度線程的開銷等等,同時(shí)也降低了計(jì)算機(jī)的整體性能。線程池維護(hù)多個(gè)線程,等待監(jiān)督管...
前言 基于SpingBoot框架中, 我們隨處可以見的便是各種各樣的功能注解, 注解的實(shí)現(xiàn)原理AOP之前有說過(翻看本系列的前面幾章即可), 這里不過多贅述. 那么, 你有沒...
什么是循環(huán)依賴? 之前提到了在進(jìn)行創(chuàng)建單例Bean的時(shí)候有個(gè)類參數(shù)singletonCurrentlyInCreation,這個(gè)參數(shù)是用來記錄當(dāng)前正在進(jìn)行實(shí)例化的beanNa...
1 MySQL之JSON數(shù)據(jù) 總所周知,mysql5.7以上提供了一種新的字段格式j(luò)son,大概是mysql想把非關(guān)系型和關(guān)系型數(shù)據(jù)庫一口通吃,所以推出了這種非常好用的格式,...
簡單限流器封裝 開發(fā)過程中有時(shí)候 我們會(huì)做一些簡單的限流 操作,比如 告警提醒,發(fā)送驗(yàn)證碼 等,希望在 一段時(shí)間 只許調(diào)用幾次。 下面基于redis incr 命令通用封裝 ...
主要講解TransactionalEventListener是怎樣工作的?適合在什么場景,能解決哪些問題?以及和EventListener不同之處。 示例 這里舉個(gè)業(yè)務(wù)場景,...
前言 項(xiàng)目使用mybaits-plus,所以在mybaits-plus的基礎(chǔ)上增加數(shù)據(jù)權(quán)限的過濾 mybaits-plus自帶數(shù)據(jù)權(quán)限支持,但由于系統(tǒng)數(shù)據(jù)權(quán)限相對(duì)復(fù)雜,通過查...
一、 什么是布隆過濾器 介紹布隆過濾器之前,先介紹一下哈希函數(shù),我們?cè)贘ava中的HashMap,HashSet也接觸過hashcode()這個(gè)函數(shù)。 哈希函數(shù)指將哈希表中元...
一、Caffeine緩存概述 Caffeine是一種高性能的緩存庫,是基于Java 8的最佳(最優(yōu))緩存框架?;贕oogle的Guava Cache,Caffeine提供一...
Debug用來追蹤代碼的運(yùn)行流程,通常在程序運(yùn)行過程中出現(xiàn)異常,啟用Debug模式可以分析定位異常發(fā)生的位置,以及在運(yùn)行過程中參數(shù)的變化。通常我們也可以啟用Debug模式來跟...
當(dāng)項(xiàng)目中某個(gè)業(yè)務(wù)需要調(diào)用另外N個(gè)服務(wù)接口,然后根據(jù)返回的結(jié)果做篩選再返回給前端。當(dāng)然最簡單的做法就是N個(gè)接口串行調(diào)用,但是如果每個(gè)接口調(diào)用的時(shí)間都在1秒以上那么N個(gè)接口調(diào)用完...