ThreadLocal学习

用来存储当前用户的id,通过解析JWT得到id,将id放入到线程池中去。

编写的BaseContext类。 全部定义的是静态的方法。

实际开发使用;

java 复制代码
public class BaseContext  {

    private static  ThreadLocal<Long> threadLocal=new ThreadLocal();
    public static void setCurrentId(Long id){
        threadLocal.set(id);
    }
    public static Long getCurrentId(){
        return (Long) threadLocal.get();
    }
    public static  void removeCurrentId(){
        threadLocal.remove();
    }

    public static void main(String[] args) {
        BaseContext.setCurrentId(19L);
        System.out.println(BaseContext.getCurrentId());
    }
}

用完之后就需要进行remove,删除对应的内存。

null 0 null 1 每个Threadlocal 只有一个自己的变量。

线程对象用完之后其实并没有销毁。

弱引用:gc的时候被回收

相关推荐
NE_STOP7 小时前
Vide Coding--AI编程工具的选择
java
通信小呆呆7 小时前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
码云数智-园园7 小时前
C++20 Modules 模块详解
java·开发语言·spring
程序员黑豆7 小时前
JDK 下载安装与配置详细教程
java·前端·ai编程
H__Rick7 小时前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee8 小时前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
小宇宙Zz8 小时前
Maven依赖冲突
java·服务器·maven
swordbob8 小时前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
咖啡八杯8 小时前
GoF设计模式——享元模式
java·spring·设计模式·享元模式
十五喵源码网8 小时前
基于springboot2+vue2的租房管理系统
java·毕业设计·springboot·论文笔记