简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好 处)

强引用:平时我们所使用的大部分引用都是强引用。一个对象具有强引用,类似于不可缺少的生活品。JVM在内  存不足的时候,宁可抛出outofmemory异常,使程序终止,也不愿意回收该对象。

软引用:只具有软引用的对象,就像生活中可有可无的生活品。如果JVM内存充足,垃圾回收器就不会回收它。如果JVM内存不足的话,垃圾回收器就会对它进行回收。

弱引用:只具有弱引用的对象,就像生活中可有可无的生活品。但是它比软引用具备更短的生命周期,垃圾回收器扫描它所管辖的区域,如果扫描到弱引用对象,就直接对它进行回收。

虚引用:形同虚设。虚引用就和没有任何引用一样。在任何时候都能够被回收。

虚引用与软引用和弱引用的区别:

虚引用要和引用队列联合使用。垃圾回收器在回收一个对象之前,如果还发现了该对象的虚引用,就会再对象回收之前,将虚引用添加到引用队列中。

使用软引用能带来的好处:提升JVM回收垃圾的速度,维护系统的运行安全,防止内存溢出等问题。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容