1 强引用
java中用的最多的就是强引用,即讲一个变量赋给引用变量,例如:
String str = new String("asdf);
2 软引用
需要使用SoftReference类来实现,当发生内存不足的时候,会将这些内存对象回收,例如:
String str = new String("assfff");
SoftReference<String> softReference = new SoftReference<String>(str);
3 弱引用
需要使用WeakReference来时实现,只要发生GC就会被回收,例如:
String str = new String("aaaaa");
WeakReference wr = new WeakReference(str);
4 虚引用
需要PhantomReference类来实现,他不能单独使用,必须和引用队列联合使用,虚引用主要做用是跟踪对象被垃圾回收的状态,例如:
String str = new String("bbbbbbb");
ReferenceQueue rq = new ReferenceQueue();
PhantomReference pr = new PhantomReference(str,rq);
rq.poll();