Alibaba Druid主要配置詳解
Alibaba Druid主要配置
連接配置
spring.datasource.druid.initial-size 初始連接數(shù)
描述:
- 初始連接數(shù),初始連接數(shù)并非在應(yīng)用啟動(dòng)后立即創(chuàng)建,而是首次執(zhí)行SQL操作時(shí)才會(huì)初始化指定數(shù)量的物理連接;
- 建議與min-idle一致。
- 示例initial-size=5,應(yīng)用啟動(dòng)后無(wú)數(shù)據(jù)庫(kù)操作時(shí)連接數(shù)為0;首次執(zhí)行SELECT時(shí)才會(huì)創(chuàng)建5個(gè)連接放入池中。
spring.datasource.druid.min-idle 最小連接數(shù)
描述:
- 最小空閑連接,連接池在任何時(shí)刻都會(huì)保持設(shè)定的空閑連接數(shù)量,即使長(zhǎng)時(shí)間無(wú)請(qǐng)求也不會(huì)銷毀這些連接,避免頻繁創(chuàng)建/銷毀。
spring.datasource.druid.max-active 最大活動(dòng)連接數(shù)
描述:
- 指定連接池中允許同時(shí)存在的最大活動(dòng)連接數(shù)(包括正在被使用的連接和空閑連接)。
- 當(dāng)活躍連接數(shù)達(dá)到閾值時(shí):新請(qǐng)求會(huì)進(jìn)入等待隊(duì)列(若配置了max-wait超時(shí)時(shí)間)。
- 若等待超時(shí)或無(wú)可用連接,拋出 SQLException(如Connection is not available)
spring.datasource.druid.max-wait 獲取連接最大等待時(shí)間
描述:
- 控制服務(wù)獲取數(shù)據(jù)庫(kù)連接最大等待時(shí)間參數(shù),單位為毫秒(ms);
- 當(dāng)連接池中無(wú)可用連接時(shí),新請(qǐng)求等待獲取連接的最長(zhǎng)時(shí)間:若在等待期間有連接釋放,則請(qǐng)求成功獲取連接。
- 若超時(shí)仍無(wú)可用連接,拋出 SQLException(如 Connection is not available)
spring.datasource.druid.test-while-idle 空閑連接有效性檢測(cè)
描述:
- 當(dāng)設(shè)置為true時(shí),Druid會(huì)在連接空閑時(shí)間超過(guò)time-between-eviction-runs-millis指定的間后,通過(guò)執(zhí)行validation-query(如SELECT 1)檢測(cè)連接是否有效。
- 若檢測(cè)失敗,連接會(huì)被標(biāo)記為無(wú)效并關(guān)閉,同時(shí)連接池自動(dòng)創(chuàng)建新連接補(bǔ)充至min-idle數(shù)量。
spring.datasource.druid.time-between-eviction-runs-millis 清理無(wú)效連接的檢測(cè)間隔時(shí)間
描述:
- 定義連接池后臺(tái)線程(DestroyTask)掃描并清理無(wú)效連接的間隔時(shí)間;
- 定期清理閑置連接,避免連接因超時(shí)失效后仍被使用,單位為毫秒(ms),默認(rèn)值:60000(1分鐘)。
spring.datasource.druid.min-evictable-idle-time-millis 空閑連接最小存活時(shí)間
描述:
- 控制空閑連接最小存活時(shí)間(單位:毫秒);
- 當(dāng)連接的空閑時(shí)間超過(guò)此值時(shí),可能被回收線程(DestroyTask)關(guān)閉。
- 默認(rèn)值:180000(30分鐘)。
- 需配合time-between-eviction-runs-millis(檢測(cè)間隔)生效,由后臺(tái)線程周期性掃描空閑連接。
spring.datasource.druid.validation-query 檢測(cè)數(shù)據(jù)庫(kù)連接有效性SQL
- 描述:指定一個(gè)輕量級(jí)SQL查詢語(yǔ)句(如 SELECT 1),用于以下場(chǎng)景:
- 連接有效性檢測(cè):當(dāng)啟用test-while-idle或test-on-borrow時(shí),通過(guò)執(zhí)行該SQL驗(yàn)證連接是否有效。
- 空閑連接回收:后臺(tái)線程定期掃描空閑連接,對(duì)空閑時(shí)間超閾值的連接執(zhí)行該語(yǔ)句,失敗則關(guān)閉無(wú)效連接
spring.datasource.druid.test-on-borrow 控制連接借出時(shí)有效性驗(yàn)證
描述:
- 當(dāng)test-on-borrow=true時(shí),應(yīng)用每次從連接池申請(qǐng)連接時(shí),會(huì)同步執(zhí)行validation-query(如 SELECT 1)驗(yàn)證連接是否有效。
- 若驗(yàn)證失敗,則丟棄該連接并重新申請(qǐng)一個(gè)新連接。(生產(chǎn)環(huán)境配置建議禁用)
spring.datasource.druid.test-on-return 歸還連接時(shí)有效性驗(yàn)證
描述:
- 當(dāng) test-on-return=true 時(shí),應(yīng)用將連接歸還到連接池前,會(huì)同步執(zhí)行validation-query(如 SELECT 1)驗(yàn)證連接是否有效。
- 若驗(yàn)證失敗,連接會(huì)被直接丟棄而非放回池中。(生產(chǎn)環(huán)境配置建議禁用)
spring.datasource.druid.pool-prepared-statements?預(yù)編譯語(yǔ)句緩存
描述:
- 當(dāng)為true時(shí),Druid會(huì)為每個(gè)數(shù)據(jù)庫(kù)連接緩存預(yù)編譯的SQL語(yǔ)句(PreparedStatement),避免重復(fù)編譯相同 SQL,提升執(zhí)行效率。
- 默認(rèn)值false
spring.datasource.druid.max-pool-prepared-statement-per-connection-size單個(gè)連接預(yù)編譯語(yǔ)句緩存數(shù)量上限
描述:
- 指定每個(gè)物理連接可緩存的 PreparedStatement 對(duì)象數(shù)量上限(默認(rèn)值 20)。
- 需配合pool-prepared-statements=true生效:當(dāng)此值>0時(shí),自動(dòng)啟用 PreparedStatement 緩存。
- 避免相同SQL重復(fù)編譯,提升高頻重復(fù)查詢性能(如批量操作),實(shí)測(cè)可降低 20%~30%的SQL執(zhí)行時(shí)間。
spring.datasource.druid.filters 過(guò)濾器鏈??
描述:
- 指定啟用的過(guò)濾器鏈。
- 這些過(guò)濾器在SQL執(zhí)行前后攔截操作,提供監(jiān)控、安全、日志等擴(kuò)展功能。
- 如:filters: stat,wall,slf4j # 啟用監(jiān)控、防火墻、日志過(guò)濾器。
- 若需使用Druid內(nèi)置的SQL監(jiān)控頁(yè)面(如 localhost:8080/druid/sql.html),必須啟用 stat 過(guò)濾器,否則無(wú)法采集SQL執(zhí)行數(shù)據(jù)
spring.datasource.druid.connection-properties鍵值對(duì)形式傳遞自定義參數(shù)
描述:
- 通過(guò)分號(hào)“;”分隔的鍵值對(duì)(如 key1=value1;key2=value2),向Druid內(nèi)部組件傳遞配置參數(shù),影響連接池行為或擴(kuò)展功能
spring.datasource.druid.use-global-data-source-stat合并多個(gè)數(shù)據(jù)源監(jiān)控統(tǒng)計(jì)
描述:
- 用于合并多個(gè)數(shù)據(jù)源監(jiān)控統(tǒng)計(jì)的關(guān)鍵配置項(xiàng),主要作用是將應(yīng)用中多個(gè) DruidDataSource 實(shí)例的監(jiān)控?cái)?shù)據(jù)聚合為全局視圖,便于統(tǒng)一分析,當(dāng)應(yīng)用中存在多個(gè)數(shù)據(jù)源(如主從庫(kù)、多租戶庫(kù))時(shí),啟用 use-global-data-source-stat: true 會(huì)將所有DruidDataSource 的統(tǒng)計(jì)信息(如 SQL 執(zhí)行次數(shù)、耗時(shí)、連接數(shù)等)合并展示在 Druid 監(jiān)控頁(yè)面的“數(shù)據(jù)源”標(biāo)簽頁(yè)下。
- 未啟用時(shí):每個(gè)數(shù)據(jù)源獨(dú)立統(tǒng)計(jì),監(jiān)控頁(yè)面需切換不同數(shù)據(jù)源查看數(shù)據(jù)。啟用后:監(jiān)控頁(yè)直接展示所有數(shù)據(jù)源的匯總數(shù)據(jù),降低分析復(fù)雜度。
- 每個(gè) DruidDataSource 默認(rèn)會(huì)創(chuàng)建獨(dú)立的 JdbcDataSourceStat 對(duì)象收集統(tǒng)計(jì)信息。
- 啟用全局統(tǒng)計(jì)后,多個(gè)數(shù)據(jù)源共享同一個(gè)統(tǒng)計(jì)對(duì)象,減少內(nèi)存占用和計(jì)算開(kāi)銷。
監(jiān)控頁(yè)面配置
spring.datasource.druid.stat-view-servlet.enabled 控制監(jiān)控頁(yè)面是否啟用
描述:
- 當(dāng)設(shè)置為 true 時(shí),Druid 會(huì)注冊(cè)一個(gè)StatViewServlet,提供內(nèi)置的Web監(jiān)控頁(yè)面(訪問(wèn)路徑默認(rèn)為 /druid/*),用于可視化查看數(shù)據(jù)庫(kù)連接池狀態(tài)、SQL執(zhí)行統(tǒng)計(jì)、慢查詢?nèi)罩镜汝P(guān)鍵信息。
- 默認(rèn)值false(禁用)。
spring.datasource.druid.stat-view-servlet.url-pattern監(jiān)控頁(yè)面訪問(wèn)路徑配置
描述:
- 該配置項(xiàng)指定了 Druid 監(jiān)控頁(yè)面的 URL 路徑模式。
- 默認(rèn)值為 /druid/*,表示監(jiān)控頁(yè)面的根路徑為 http://<服務(wù)器地址>:<端口>/druid/。
- 例如:登錄頁(yè)http://localhost:8080/druid/login.html;監(jiān)控頁(yè):http://localhost:8080/druid/sql.html
spring.datasource.druid.stat-view-servlet.login-username監(jiān)控頁(yè)面登錄用戶名
描述:
- 配置監(jiān)控頁(yè)面登錄用戶名;
- 與login-password配合使用,為監(jiān)控頁(yè)面(如 http://localhost:8080/druid/login.html)提供基礎(chǔ)安全防護(hù),防止未授權(quán)用戶訪問(wèn)敏感數(shù)據(jù)庫(kù)監(jiān)控?cái)?shù)據(jù);
- 未配置時(shí)默認(rèn)無(wú)認(rèn)證(生產(chǎn)環(huán)境禁用此狀態(tài)),訪問(wèn)監(jiān)控頁(yè)無(wú)需登錄。
spring.datasource.druid.stat-view-servlet.login-password監(jiān)控頁(yè)面登錄密碼
描述:
- 配置監(jiān)控頁(yè)面登錄密碼,與login-username配合使用,為監(jiān)控頁(yè)面(如 http://localhost:8080/druid/login.html)提供基礎(chǔ)安全防護(hù),防止未授權(quán)用戶訪問(wèn)敏感數(shù)據(jù)庫(kù)監(jiān)控?cái)?shù)據(jù);
- 未配置時(shí)默認(rèn)無(wú)認(rèn)證(生產(chǎn)環(huán)境禁用此狀態(tài)),訪問(wèn)監(jiān)控頁(yè)無(wú)需登錄。
spring.datasource.druid.stat-view-servlet.reset-enable監(jiān)控頁(yè)面的重置功能開(kāi)關(guān)
描述:
- true(默認(rèn)值):?jiǎn)⒂?禁用重置功能;監(jiān)控頁(yè)面顯示“Reset All”按鈕,點(diǎn)擊后可清空所有統(tǒng)計(jì)信息(如SQL執(zhí)行次數(shù)、慢SQL記錄、請(qǐng)求耗時(shí)等),數(shù)據(jù)從零開(kāi)始重新計(jì)數(shù)。
- false:隱藏重置按鈕,防止誤操作導(dǎo)致監(jiān)控?cái)?shù)據(jù)丟失。生產(chǎn)環(huán)境強(qiáng)烈建議關(guān)閉。
Web請(qǐng)求統(tǒng)計(jì)
spring.datasource.druid.web-stat-filter.enabled啟用Web請(qǐng)求關(guān)聯(lián)SQL統(tǒng)計(jì)
描述:當(dāng)設(shè)置為 true 時(shí),Druid 的 WebStatFilter 會(huì)攔截所有 Web 請(qǐng)求,自動(dòng)采集以下數(shù)據(jù):
- SQL 執(zhí)行詳情:包括 SQL 語(yǔ)句、執(zhí)行次數(shù)、耗時(shí)、慢SQL記錄。
- 請(qǐng)求關(guān)聯(lián)數(shù)據(jù):URL 訪問(wèn)路徑、請(qǐng)求次數(shù)、Session活躍度、數(shù)據(jù)庫(kù)表訪問(wèn)頻率等。
- 資源過(guò)濾:通過(guò)exclusions配置排除靜態(tài)資源(如JS、CSS、圖片),避免無(wú)效統(tǒng)計(jì)
監(jiān)控頁(yè)面數(shù)據(jù)支撐:?jiǎn)⒂煤?,Druid監(jiān)控頁(yè)面的“URI監(jiān)控”和“Session監(jiān)控”標(biāo)簽頁(yè)會(huì)顯示實(shí)時(shí)數(shù)據(jù)。若未啟用,這些頁(yè)面將無(wú)數(shù)據(jù)。
注意!
- 啟用監(jiān)控頁(yè)面:需同時(shí)設(shè)置 stat-view-servlet.enabled=true,否則無(wú)法查看統(tǒng)計(jì)結(jié)果。
- 啟用SQL監(jiān)控:需配置 filters: stat,否則SQL執(zhí)行詳情無(wú)法采集
spring.datasource.druid.web-stat-filter.url-pattern過(guò)濾器的攔截路徑配置
描述:
- 該配置指定了 Druid 的 WebStatFilter 需要攔截哪些 URL 路徑的請(qǐng)求,以采集與數(shù)據(jù)庫(kù)操作相關(guān)的統(tǒng)計(jì)信息(如 SQL 執(zhí)行詳情、請(qǐng)求耗時(shí)、Session 活躍度等)。
- 默認(rèn)值:/(攔截所有請(qǐng)求)。
- 典型場(chǎng)景:需監(jiān)控所有業(yè)務(wù)接口的數(shù)據(jù)庫(kù)訪問(wèn)行為時(shí),保持默認(rèn)值即可;若需縮小范圍,可調(diào)整為 /api/ 等特定路徑。
關(guān)聯(lián)數(shù)據(jù)采集,僅被攔截的請(qǐng)求才會(huì)生成以下監(jiān)控?cái)?shù)據(jù):
- SQL監(jiān)控頁(yè):SQL 執(zhí)行次數(shù)、慢 SQL 記錄。
- URI監(jiān)控頁(yè):每個(gè)接口的請(qǐng)求次數(shù)、平均耗時(shí)、數(shù)據(jù)庫(kù)表訪問(wèn)頻率。
- Session 監(jiān)控頁(yè):用戶會(huì)話的活躍時(shí)長(zhǎng)、請(qǐng)求次數(shù)等(需額外啟用 session-stat-enable=true)
spring.datasource.druid.web-stat-filter.exclusions靜態(tài)資源排除配置
描述:
指定哪些URL路徑不參與數(shù)據(jù)庫(kù)監(jiān)控統(tǒng)計(jì),例如:
- 靜態(tài)資源:*.js、*.css、*.jpg、*.ico 等。
- 內(nèi)置監(jiān)控頁(yè)面:/druid/*(避免監(jiān)控自身請(qǐng)求)。
- 健康檢查接口:如 Spring Boot Actuator 的 /actuator/health
SQL性能監(jiān)控
spring.datasource.druid.filter.stat.log-slow-sql啟用慢 SQL記錄功能
描述:
- 當(dāng)設(shè)置為 true 時(shí),Druid會(huì)捕獲執(zhí)行時(shí)間超過(guò)閾值(由slow-sql-millis定義)的SQL語(yǔ)句,并將其輸出到日志文件中。
- 默認(rèn)值:false(未啟用),需手動(dòng)開(kāi)啟。
- 若啟用log-slow-sql: true,慢SQL會(huì)輸出到日志文件。
spring.datasource.druid.filter.stat.slow-sql-millis定義慢 SQL判定閾值
描述:
- 定義慢SQL標(biāo)準(zhǔn);當(dāng)SQL執(zhí)行時(shí)間超過(guò)設(shè)定閾值時(shí),Druid會(huì)將其標(biāo)記為慢SQL。默認(rèn)值3000(3秒)
spring.datasource.druid.filter.stat.db-type數(shù)據(jù)庫(kù)類型
描述:
Druid的StatFilter需根據(jù)數(shù)據(jù)庫(kù)類型(如 MySQL、Oracle)解析SQL語(yǔ)法,以正確統(tǒng)計(jì)以下信息:
- SQL執(zhí)行詳情:執(zhí)行次數(shù)、耗時(shí)、慢SQL識(shí)別。
- 執(zhí)行計(jì)劃分析:識(shí)別 SQL 結(jié)構(gòu)(如 SELECT/UPDATE)并關(guān)聯(lián)性能數(shù)據(jù)。
- 若未配置 db-type,可能因語(yǔ)法差異導(dǎo)致統(tǒng)計(jì)錯(cuò)誤(如 Oracle 分頁(yè)語(yǔ)句解析失?。?/li>
spring.datasource.druid.filter.stat.merge-sql是否合并統(tǒng)計(jì)結(jié)構(gòu)相同但格式不同的SQL語(yǔ)句
描述:
- 當(dāng)merge-sql=true時(shí),Druid會(huì)將語(yǔ)義相同但格式不同的SQL(如空格、換行符差異)合并為同一條統(tǒng)計(jì)記錄;
- 合并后顯著降低內(nèi)存占用和統(tǒng)計(jì)信息數(shù)量,提升監(jiān)控效率,尤其在高并發(fā)場(chǎng)景下。
SQL防火墻
spring.datasource.druid.wall.enabled啟用SQL防火墻開(kāi)關(guān)
描述:
- 當(dāng)設(shè)置為true時(shí),Druid會(huì)激活內(nèi)置的WallFilter,對(duì)所有執(zhí)行的 SQL 進(jìn)行安全審計(jì),攔截危險(xiǎn)操作(如 SQL 注入、無(wú) WHERE 的 DELETE/UPDATE、DROP TABLE 等);
- 默認(rèn)值:false。
spring.datasource.druid.wall.config.drop-table-allow 禁止刪除表開(kāi)關(guān)
描述:
- 當(dāng)設(shè)置為false(默認(rèn)值)時(shí):禁止執(zhí)行DROP TABLE、DROP VIEW 等刪表操作,防止誤刪或惡意刪除數(shù)據(jù)庫(kù)表結(jié)構(gòu)。
- 當(dāng)設(shè)置為true 時(shí):允許執(zhí)行刪表操作(生產(chǎn)環(huán)境強(qiáng)烈不推薦)。
spring.datasource.druid.wall.config.truncate-allow禁止清空表開(kāi)關(guān)
描述:
- 當(dāng)設(shè)置為false(默認(rèn)值)時(shí)禁止執(zhí)行TRUNCATE TABLE操作,防止誤刪或惡意清空整張表的數(shù)據(jù)(該操作不可回滾,且不觸發(fā)觸發(fā)器)。
- 設(shè)置為true時(shí)允許執(zhí)行TRUNCATE操作(生產(chǎn)環(huán)境強(qiáng)烈不推薦)
spring.datasource.druid.wall.config.delete-allow禁止無(wú)WHERE條件的DELETE操作開(kāi)關(guān)
描述:
- 當(dāng)設(shè)置為false時(shí),Druid會(huì)攔截所有 DELETE 語(yǔ)句,防止誤刪或惡意刪除數(shù)據(jù)。
- 默認(rèn)值true(允許執(zhí) DELETE語(yǔ)句)
spring.datasource.druid.wall.config.select-all-column-allow禁止SELECT *開(kāi)關(guān)
- 描述:當(dāng)設(shè)置為false時(shí),Druid會(huì)攔截所有 SELECT * FROM table 這類查詢語(yǔ)句。
- 默認(rèn)值true(允許執(zhí)行 SELECT * 查詢)
spring.datasource.druid.wall.config.condition-and-always-true-allow攔截永真條件開(kāi)關(guān)
描述:
- 若設(shè)置為true,允許SQL中出現(xiàn) WHERE 1=1 這類條件,攻擊者可能利用此特性繞過(guò)身份驗(yàn)證或批量竊取數(shù)據(jù),默認(rèn)值false
spring.datasource.druid.wall.config.multi-statement-allow禁止多語(yǔ)句執(zhí)行開(kāi)關(guān)
描述:
- 控制是否允許單次請(qǐng)求執(zhí)行多條SQL語(yǔ)句的安全配置項(xiàng)。
- 默認(rèn)值false(禁止執(zhí)行多條SQL)。
- 開(kāi)啟后允許通過(guò)分號(hào);分隔執(zhí)行多條SQL(如 UPDATE table1 SET …; UPDATE table2 SET …)。
spring.datasource.druid.wall.config.function-allow控制是否允許SQL語(yǔ)句調(diào)用數(shù)據(jù)庫(kù)函數(shù)
描述:
默認(rèn)值false(禁止調(diào)用數(shù)據(jù)庫(kù)函數(shù));若設(shè)為 true,允許執(zhí)行如SLEEP()、LOAD_FILE()、EXEC() 等敏感函數(shù),導(dǎo)致以下攻擊:
- 時(shí)間盲注攻擊:利用 SLEEP(5) 探測(cè)數(shù)據(jù)庫(kù)結(jié)構(gòu)。
- 文件讀取/寫(xiě)入:通過(guò) LOAD_FILE(‘/etc/passwd’) 竊取系統(tǒng)文件。
- 命令執(zhí)行:調(diào)用 EXEC(‘rm -rf /’) 破壞系統(tǒng)(部分?jǐn)?shù)據(jù)庫(kù)支持)
spring.datasource.druid.wall.config.read-only-tables配置只讀表
描述:
- 通過(guò)配置表名(支持正則表達(dá)式),禁止對(duì)這些表執(zhí)行 INSERT/UPDATE/DELETE 等寫(xiě)操作;
- 如:read-only-tables: user, config_.* #禁止修改user表和config_前綴的表
spring.datasource.druid.wall.config.log-violation控制是否記錄被攔截SQL語(yǔ)句
描述:
- 默認(rèn)值false(不記錄攔截的 SQL)。
- 若設(shè)置為true,當(dāng)SQL語(yǔ)句觸發(fā)防火墻規(guī)則(如執(zhí)行SELECT *、永真條件 WHERE 1=1或高危操作)時(shí),Druid會(huì)通過(guò) LOG.error 輸出詳細(xì)的攔截日志。
- 日志內(nèi)容包含違規(guī)SQL、攔截原因、執(zhí)行時(shí)間等信息,便于安全審計(jì)。
spring.datasource.druid.wall.config.throw-exception是否對(duì)違規(guī)SQL拋出異常
描述:
- 默認(rèn)值:true(檢測(cè)到高危SQL時(shí)拋出 SQLException 阻斷執(zhí)行),若設(shè)置為false僅記錄攔截日志(需配合 log-violation=true),不中斷請(qǐng)求,存在安全風(fēng)險(xiǎn)。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Java通過(guò)驅(qū)動(dòng)包(jar包)連接MySQL數(shù)據(jù)庫(kù)的步驟總結(jié)及驗(yàn)證方式
- Java讀取Excel文件并寫(xiě)入數(shù)據(jù)庫(kù)的示例代碼
- java如何使用jdbc連接TDSQL數(shù)據(jù)庫(kù)
- Java中調(diào)用數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程的示例代碼
- java獲取壓縮文件中的XML并解析保存到數(shù)據(jù)庫(kù)
- MyBatis實(shí)現(xiàn)數(shù)據(jù)庫(kù)類型和Java類型轉(zhuǎn)換的處理方法
- 在Java中基于Geotools對(duì)PostGIS數(shù)據(jù)庫(kù)的空間查詢實(shí)踐教程
相關(guān)文章
關(guān)于Java中增強(qiáng)for循環(huán)使用的注意事項(xiàng)
for循環(huán)語(yǔ)句是java循環(huán)語(yǔ)句中最常用的循環(huán)語(yǔ)句,一般用在循環(huán)次數(shù)已知的情況下使用,這篇文章主要給大家介紹了關(guān)于Java中增強(qiáng)for循環(huán)使用的注意事項(xiàng),需要的朋友可以參考下2021-06-06SpringBoot應(yīng)用是否存在MySQL連接泄漏問(wèn)題的排查方法
這篇文章主要介紹了排查SpringBoot應(yīng)用MySQL連接泄漏的方法,需檢查連接數(shù)、空閑連接,配置連接池參數(shù),確保資源關(guān)閉,并使用監(jiān)控工具如Actuator和Prometheus分析,需要的朋友可以參考下2025-06-06在js與java中判斷json數(shù)據(jù)中是否含有某字段的案例
這篇文章主要介紹了在js與java中判斷json數(shù)據(jù)中是否含有某字段的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12RabbitMQ實(shí)現(xiàn)消息可靠性傳遞過(guò)程講解
消息的可靠性傳遞是指保證消息百分百發(fā)送到消息隊(duì)列中去,這篇文章主要介紹了RabbitMQ實(shí)現(xiàn)消息可靠性傳遞過(guò)程,感興趣想要詳細(xì)了解可以參考下文2023-05-05