Это старая версия документа.


Weak Referencies

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);
	}
}
dev/java/lang/weakrefs.1344091338.txt.gz · Последние изменения: 2012/08/04 18:42 — jamis7005
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0