Java中的四大引用

1.强引用:如果一个对象具有强引用,则该对象不会被垃圾回收器回收,即使内存空间不足,JVM也不会回收该对象,而是抛出OutOfMemoryError异常,使程序异常中止。如果要中断强引用与某个对象的关联,可以显示的将该引用置为null,则JVM会在合适的时间回收该对象。

Object obj = new Object();    // 强引用
obj = null;              // 取消强引用

2.软引用:如果一个对象具有软引用,则只有在内存空间不足的时候,JVM才会回收它。

SoftReference<String> softName = new  SoftReference<>("张三");

3.弱引用:若一个对象具有弱引用,则不管内存空间足不足够,只要垃圾回收器发现了该对象,就会将其回收。

WeakReference<String> weakName = new WeakReference<String>("hello");

4.虚引用:顾名思义,就是形同虚设,如果一个对象仅持有虚引用,那么它相当于没有引用,在任何时候都可能被垃圾回收器回收。

参考:

https://www.cnblogs.com/pascall/p/10281775.html
http://www.360doc.com/content/19/0409/10/25472797_827404356.shtml

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