一、ThreadLocal的作用
ThreadLocal主要功能就是给每个线程创建变量副本,这样就可以保证一个线程对某个变量的修改不会影响到其他线程对该变量的使用。
二、ThreadLocal的原理
ThreadLocal是基于每个线程对象内部的一个叫做threadLocals的属性来实现的,它的类型是ThreadLocalMap(说白了就是一个Map对象)。它以ThreadLocal本本身作为键值,副本对象作为value存储,这样当每个线程调用该对象时就可以直接从自身的threadLocals属性中获取变量副本来进行操作。
三、ThreadLocal的使用场景
最为常见的使用场景就是数据库的连接对象和session对象了