[用法] 首先明确,ThreadLocal是用空间换时间来解决线程安全问题的,方法是各个线程拥有自己的变量副本. 既然如此,那么是涉及线程安全,必然有一个共享变量,我给大家声明一个: public class Singleton { private Connection connection = DataSourceUtil.getConnection(); } 不好意思,写错了,忘了是需要用线程安全的了,多线程下,上面代码必然有bug,从新写一个: public class Singleton…