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的时候被回收

相关推荐
new_bie_B1 小时前
Android16 Input 事件分发链路
android
MY_TEUCK2 小时前
【2026最新Python+AI学习基础】Python 入门笔记篇
笔记·python·学习
qq_571099352 小时前
学习周报四十五
学习
2401_833269302 小时前
Java网络编程入门
java·开发语言
金銀銅鐵2 小时前
[Java] 如何将 Lambda 表达式对应的类保存到 class 文件中?
java·后端
それども3 小时前
Gradle 构建疑难杂症 Could not find netty-transport-native-epoll-linux-aarch_64.ja
java·服务器·gradle·maven
正儿八经的少年3 小时前
application.yml 系列配置文件作用与区别
java·配置文件
鱼很腾apoc4 小时前
【学习篇】第20期 超详解 C++ 多态:从语法规则到底层原理
java·c语言·开发语言·c++·学习·算法·青少年编程
TDengine (老段)4 小时前
TDengine RAFT共识协议 — 选举、日志复制、快照与仲裁
android·大数据·数据库·物联网·架构·时序数据库·tdengine
cheems95274 小时前
[Spring MVC] 统一功能与拦截器实践总结
java·spring·mvc