Это старая версия документа.
Weak Referencies
<code java>
class TheStrong {
public Object link;
public Object getLink(){ return link; }
public void print(Object newlink){
link = newlink;
System.out.println("TheStrong: my link =" + getLink());
}
}
class TheWeak {
public WeakReference<Object> link;
public Object getLink(){ return link.get(); }
public void print(Object newlink){
link = new WeakReference<>( newlink );
System.out.println("TheWeak: my link =" + getLink());
}
}
public class Test {
public static void main(String[] args) throws IOException {
TheWeak a1 = new TheWeak();
a1.print(Arrays.asList(1,2,3));
TheStrong b1 = new TheStrong();
b1.print(Arrays.asList(4,5,6));
Runtime r = Runtime.getRuntime();
r.gc();
System.out.println("TheWeak: its link=" + a1.link.get());
System.out.println("TheStrong: its link=" + b1.link);
}
}
<code>