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