java.lang.ref
import java.lang.ref.WeakReference;
class Example {
private Object obj;
public Example(Object obj) {
this.obj = new WeakReference<>(obj).get();
}
// ...
}import java.lang.ref.SoftReference;
import java.util.HashMap;
class Cache {
private Map<String, SoftReference<Object>> cache = new HashMap<>();
public Object get(String key) {
SoftReference<Object> ref = cache.get(key);
return ref == null ? null : ref.get();
}
// ...
}