不断更新中,有不足的欢迎指正
1-其实就是用来保存线程自己的一些变量
2-ThreadLocal 里面其实维护的是一个ThreadLocalMap key 是线程本身 value 是自己设置的值 ThreadLocalMap 里面维护一个entry 数组对象, 值其实保存在数组中
3-set ,get 流程
4-内存泄漏问题:因为key 是弱引用即ThreadLocal 是弱引用,在没有强引用时候,会被垃圾回收掉,这样就造成 key 为null,value 因为是强引用会一直存在,这个时候会存在内存泄漏,所以 调用 set,get 方法时,最好手动调用remove 方法
ThreadLocal必须掌握
最新推荐文章于 2024-07-12 16:26:30 发布