java 四种引用类型

1、强引用

当咱们使用new 这个关键字建立对象时被建立的对象就是强引用,垃圾回收器就不会去回收有强引用的对象,而当内存不足时,jvm不会回收强引用的对象,会报内存空间不足的异常。jvm

2、软引用

当内存足够时,垃圾回收器不会回收它,但若是内存不足了,就会回收软引用对象。对象

3、弱引用

只要垃圾回收器检测到这样的引用,就会当即回收掉该引用对象,无论内存是否足够。队列

4、虚引用

若是一个对象仅持有虚引用,那么它就和没有任何引用同样,在任什么时候候均可能被垃圾回收器回收。 虚引用主要用来跟踪对象被垃圾回收器回收的活动。虚引用与软引用和弱引用的一个区别在于:虚引用必须和引用队列 (ReferenceQueue)联合使用。当垃圾回收器准备回收一个对象时,若是发现它还有虚引用,就会在回收对象的内存以前,把这个虚引用加入到与之 关联的引用队列中。内存

相关文章
相关标签/搜索