会敲代码的小张 2024-03-28 17:55 采纳率: 100%
浏览 2
已结题

拦截器中 threadLocal的使用是单例模式中的饿汉式吗

拦截器中 threadLocal的使用是单例模式中的饿汉式吗?

```java
@Slf4j
public class LoginInterceptor implements HandlerInterceptor {

    public static ThreadLocal<LoginUser> threadLocal=new ThreadLocal<>();
         
    //拦截逻辑

}


```

  • 写回答

4条回答 默认 最新

  • 关注

    会敲代码的小张 下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    在提供答案之前,先来了解一下饿汉式单例模式和拦截器中ThreadLocal的作用。

    1. 饿汉式单例模式:

      • 饿汉式单例模式是指在类加载时就创建对象,无论是否真正使用该对象,都会提前创建。
      • 定义了一个私有的静态成员变量,通过静态方法返回该对象的引用。
      • 优点是线程安全,但在某些场景下会浪费资源。
    2. 拦截器中ThreadLocal的使用:

      • ThreadLocal是Java中的一个线程局部变量,它为每个线程创建了一个独立的副本,在线程之间相互隔离。
      • 在拦截器中,可以使用ThreadLocal来存储当前线程的局部变量,比如存储登录用户的信息,在整个请求处理过程中都可以访问到。

    回到问题本身,拦截器中使用ThreadLocal并不是饿汉式的单例模式,它只是给每个线程创建了一个独立的副本,每个线程使用的都是自己的副本,相互之间不会产生影响。而饿汉式单例模式是在类加载时创建一个唯一的实例,所有线程共享同一个实例。

    因此,拦截器中ThreadLocal的使用不是单例模式中的饿汉式

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月5日
  • 已采纳回答 3月28日
  • 创建了问题 3月28日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀