线程安全问题其实就是线程共享内存的堆空间和方法区,可能会导致数据被破坏的问题,解决线程安全可以从破坏共享和可变这两个角度来入手破坏共享:比如使用局部变量,也就是线程私有的栈空间通过ThreadLocal来给线程分配资源使用Synchronized或者lock锁这种方式,让锁住的资源在同一时间被线程独占,也可以解决线程安全的问题破坏可变:使用final关键字修饰变量修饰变量