1.讲一下AQS?
2.ThreadLocal
以空间换时间 将数据设置到一个map中,key为当前线程,value是当前数据
比如声明式事务,将不同方法的设置为一个完整的事务,从配置文件中拿到数据库连接,必须保证不同数据源为一个collection对象,则只需要去ThreadLocal拿即可。
3.ThreadLocalMap
4.强引用、弱引用、软引用
强引用:没有指向直接回收
软引用:SoftReference 只有内存不够用的时候才会回收 做缓存用
弱引用:WeakReference 只要遭遇到gc就会回收 一般用在容器里 强引用指向弱引用 强引用消失掉,弱引用就不用管了就会被回收
虚引用:PhantomReference 管理的堆外内存
内存泄漏是说的永远不会被回收 还没有导致OOM
虽然强引用消失导致弱引用消失,但是我们的Map还会存在需要手动清除掉,tl.remove();



