Java不同的引用机制本质上是对象的可达性状态和对Java垃圾回收机制的影响。四种引用分别是:强引用、软引用、弱引用和虚引用。
四种引用的特点和应用场景
强引用
- 这种引用是最为常见的引用,我们通过new对象然后将其赋值给一个引用变量,这样这个变量就持有了该对象的“强引用”。
- 强引用的对象处于“强可达的状态”,对于有这种引用状态的对象,垃圾回收机制宁愿抛出OutOfMemeryError异常,也不会回收它。
- 当一个强引用离开了其作用域或者显示地赋值为null,那么后续就可能被垃圾回收器回收。
软引用