一:强引用 软引用 弱引用 虚引用
1:强引用
强引用是最常的引用方式:
Integer a = 1
变量a
强引用Integer
对象为1值,任何对象被强引用不会被垃圾回收掉。
2:软引用
一个对象是软引用且不可达,不会被垃圾回收器回收直到jvm虚拟机内存不够时候,下面创建软引用案例:
Integer a = 1;
SoftReference<Integer> soft = new SoftReference(a);
//只要为nul就会保证不可达
prime = null;
3:弱引用(代码实操看WeakHashMap)
弱引用对象会被垃圾回收器立即回收,垃圾回收不会等到需要内存时候,下面弱引用2个案例。
案例1:利用WeakReference使得对象不可达
Integer a = 1;
WeakReference<Integer> integerWeakReference = new WeakReference<>(a);
//只要为nul就会保证不可达
a = null;
如果a = null 之后再integerWeakReference.get(),这个就不是不可达了,那弱引用就不复存在了!!!
案例2&#