Java中的四大引用

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

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

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

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

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

WeakReference weakName = new WeakReference("hello");

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

参考:

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

你可能感兴趣的:(Java中的四大引用)