强引用 > 软引用 > 弱引用 > 虚引用
强引用:
Object object = new Object();
软引用:
SoftReference<String> sr = new SoftReference<String>(new String("hello"));
System.out.println(sr.get());
弱引用:
WeakReference<String> sr = new WeakReference<String>(new String("hello"));
System.out.println(sr.get());
通过图来看一下他们之间在垃圾回收时的区别:
当垃圾回收器回收时,某些对象会被回收,某些不会被回收。垃圾回收器会从根对象Object来标记存活的对象,然后将某些不可达的对象和一些引用的对象进行回收,如果对这方面不是很了解,可以参考如下的文章:
通过表格来说明一下,如下:
https://www.cnblogs.com/dolphin0520/p/3784171.html