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

相关推荐
Century_Dragon2 分钟前
当汽车钣金课遇上“数字工坊”:给职校生的沉浸式实训新体验
学习
_李小白2 分钟前
【Android 美颜相机】第一天:认识Android-GPUImage项目
android·数码相机
Codeking__2 分钟前
Redis——value的数据类型与单线程工作模型
java·数据库·redis
人道领域4 分钟前
【零基础学java】(等待唤醒机制,线程池补充)
java·开发语言·jvm
名字不好奇7 分钟前
在C++中 如何实现java中的Stream
java·c++
alonewolf_998 分钟前
Tomcat整体架构深度解析:从设计精髓到实战应用
java·架构·tomcat
摩西蒙10 分钟前
阿里云 MaxCompute(原 ODPS)定时任务查询库存快照场景
java·大数据·sql·database
江苏世纪龙科技11 分钟前
汽车钣金虚拟仿真教学软件:构建高沉浸、强交互的智慧实训新范式
学习
黎雁·泠崖11 分钟前
Java入门之吃透基础语法:注释+关键字+字面量+变量全解析
java·开发语言·intellij-idea·intellij idea
短剑重铸之日12 分钟前
《7天学会Redis》Day 1 - Redis核心架构与线程模型
java·redis·后端·架构·i/o多路复用·7天学会redis