From faf2066b6de5ae1ec0d11ff7820558671401bbe3 Mon Sep 17 00:00:00 2001 From: Busyliu Date: Sun, 8 Mar 2026 09:26:03 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E5=AE=89=E5=85=A8=E9=97=AE=E9=A2=98=20-=20=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=20ConcurrentHashMap=20=E6=9B=BF=E6=8D=A2=E9=9D=9E=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=E5=AE=89=E5=85=A8=E9=9B=86=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SaManager.stpLogicMap: LinkedHashMap -> ConcurrentHashMap - SaHttpMethod.map: HashMap -> ConcurrentHashMap 修复多线程并发访问时的潜在竞态条件 --- sa-token-core/src/main/java/cn/dev33/satoken/SaManager.java | 4 ++-- .../src/main/java/cn/dev33/satoken/router/SaHttpMethod.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/SaManager.java b/sa-token-core/src/main/java/cn/dev33/satoken/SaManager.java index f262ac93..bec7c5ae 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/SaManager.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/SaManager.java @@ -42,7 +42,7 @@ import cn.dev33.satoken.strategy.SaStrategy; import cn.dev33.satoken.temp.SaTempTemplate; import cn.dev33.satoken.util.SaFoxUtil; -import java.util.LinkedHashMap; +import java.util.ConcurrentHashMap; import java.util.Map; /** @@ -293,7 +293,7 @@ public class SaManager { /** * StpLogic 集合, 记录框架所有成功初始化的 StpLogic */ - public static Map stpLogicMap = new LinkedHashMap<>(); + public static Map stpLogicMap = new ConcurrentHashMap<>(); /** * 向全局集合中 put 一个 StpLogic diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/router/SaHttpMethod.java b/sa-token-core/src/main/java/cn/dev33/satoken/router/SaHttpMethod.java index 0e3ae4c7..6ce0ee4f 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/router/SaHttpMethod.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/router/SaHttpMethod.java @@ -15,7 +15,7 @@ */ package cn.dev33.satoken.router; -import java.util.HashMap; +import java.util.ConcurrentHashMap; import java.util.Map; import cn.dev33.satoken.error.SaErrorCode; @@ -38,7 +38,7 @@ public enum SaHttpMethod { */ ALL; - private static final Map map = new HashMap<>(); + private static final Map map = new ConcurrentHashMap<>(); static { for (SaHttpMethod reqMethod : values()) { -- Gitee