1. ThreadLocal 是什么? ThreadLocal 是 Java 中的一个线程本地变量,可以用来存储每个线程的私有数据,每个线程都有一个自己的ThreadLocal 变量,不同线程之间的数据互相隔离,不会互相干扰。 2. ThreadLocal 实现原理是什么? 每个 Thread 都有一个 ThreadLocalMap 对象,用来存储所有的 ThreadLocal 变量和相应的值。可以通过ThreadLocal 对象的 get()、set() 方法来访问对应ThreadLocalMap 中的值。 3.使用场景 token验证之后把用户相关的信息存到 ThreadLocal,方便之后业务获取当前用户信息。 4. ThreadLocal 有哪些注意事项? 使用 ThreadLocal 时需要注意内存泄漏的问题,当一个线程结束时需要手动清除对应的 ThreadLocalMap 以避免内存泄漏