ThreadLocal作用
- 相当于建立一个独立的空间,可以把使用频率高的任何类型的数据放到里面,方便调用
- 用来存取数据:set()/get()
- 使用ThreadLocal存储的数据,线程安全
ThreadLocal工具类
/*** ThreadLocal 工具类*/
@SuppressWarnings("all")
public class ThreadLocalUtil {//提供ThreadLocal对象,private static final ThreadLocal THREAD_LOCAL = new ThreadLocal();//根据键获取值public static <T> T get(){return (T) THREAD_LOCAL.get();}//存储键值对public static void set(Object value){THREAD_LOCAL.set(value);}//清除ThreadLocal ,防止内存泄漏public static void remove(){THREAD_LOCAL.remove();}
}
使用方法
//将name存到ThreadLocal中
ThreadLocalUtil.set(name);//从ThreadLocal中取数据
ThreadLocalUtil.get();//数据不能一直存在ThreadLocal中,防止内存泄漏
//清空ThreadLocal中的数据
ThreadLocalUtil.remove();