强软弱虚引用与ThreadLocal用法
1:强软弱虚引用
这四种类型的引用使用强度依次递减的。
- 强:最强的引用类型,当前仅当该类型主动释放对象空间,即赋值为null的时候,才会进行垃圾回收。只要该引用保留对象,则如果GC怎么申请都是不会回收的。
- 软:次于强,当GC回收时,如果内存空间已满,不够用了,则会对该类型进行回收。
- 弱:只要GC回收,则立马被回收。
- 虚:相当于没有引用,,,,
2:ThreadLocal用法
ThreadLocal的作用:提供线程内的局部遍历,不同线程之间 不会相互干扰。这种变量只会在线程内部起作用,生命周期与该线程保持一致,可以减少同一个线程内部的多个方法之间或是组件时间的变量调用的复杂度。
2.1:ThreadLocal和Synocheide的区别
Syn:主要解决同步资源的访问问题。上锁后就会降低并发性。多个线程之间要等待运行。
ThreadLocal:使用空间换时间的,每一个线程都有一份变量的副本。是多线程中各个线程之间变量隔离。多项成之间可以并发执行。