会敲代码的小张 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 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。