SoftReference 本身什么时候被 GC 回收?

When is the SoftReference itself reclaimed by GC?

当SoftReference引用的对象被垃圾回收器回收时,垃圾回收器如何处理SoftReference本身?

在 JVM 中,只要不再有对 SoftReference 对象本身的引用。对 SoftReference 对象的引用“正常”工作。假设引用很强。

String myString = "...";
SoftReference<String> softReference = new SoftReference<String>(myString);
// ... do some stuff

softReference = null; // no references to the SoftReference object itself so in the next garbage collector cycle, it will be garbaged collected.